Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 12:43:24
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  WinAPI Forum
| | |-+  noch einen Versuch
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: noch einen Versuch  (Gelesen 1137 mal)
Haraldo
Gast
« am: 27.11.2002, 21:05:34 »

ich versuch nochmal. ich habe jetzt den Tip von Thomas eingebaut der unter
[a href="http://www.swissdelphicenter.ch/de/forum/viewtopic.php?t=657&highlight=findwindow" target="_blank"]http://www.swissdelphicenter.ch/de/forum/v...ight=findwindow[/a]
steht
das ist jetzt mein code

Code:
procedure TFFirst.WMHotKey(var Msg: TWMHotKey);

var Prog1Handle :HWND;

begin

  if Msg.HotKey = id1 then

   begin

    Prog1Handle := FindWindow(Nil,'Muendelgeldkonto');

    if Prog1Handle <> 0 then

     begin

      // hier Prog2 in hintergrund und prog1 in vordergrund

      SetForegroundWindow(Prog1handle);

     end

    else

     begin

      // jetzt Prog1 starten

      WinExec('C:aktive ProgsMuendelgeldmuendelkonto.exe', SW_SHOW);  //muss noch variable

      sleep(500);  //warte bis gestartet

      SetEditText(FindWindow('Benutzeranmeldung', Nil), 'TEdit', VUser, 1);

      sleep(500);  //warte bis gestartet

      Presskeyboard(VK_RETURN);

      // Anmeldung Passwort übergeben

      SetEditText(FindWindow('Benutzeranmeldung', NIL), 'TEdit', vPassw, 2);

      // Return klicken wechsel auf ok-Button

      Presskeyboard(VK_RETURN);

      // Return klicken auf OK Button

      Presskeyboard(VK_RETURN);

     end;

   end;

end;



// Keyborddruck simulieren

procedure TFFirst.PressKeyboard(KEY:uint);

begin

 keybd_event(KEY, $3A, KEYEVENTF_EXTENDEDKEY,0 );

 keybd_event(KEY, $3A, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0 );

end;



procedure TFFirst.SetEditText(hApp: HWND; EditClassName, AText: string; EditNr: Integer);

var

  i: Word;

  hEdit: HWND;

begin

  if not IsWindow(hApp) then Exit;

  for i := 0 to EditNr do

    hEdit := FindWindowEx(hApp, hEdit, PChar(EditClassName), nil);

  if IsWindow(hEdit) then

    SendMessage(hEdit, WM_SETTEXT, 0, Integer(PChar(AText)));

end;



das return kommt an aber das Vuser und VPassw nicht in den Edit-Feldern
wenn ich schrittweise vorgehe she ich das er hier

Code:
 if not IsWindow(hApp) then Exit;



nicht rauspringt also hat er das Handle doch gefunden.
Gespeichert
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS