Einzelnen Beitrag anzeigen

Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
310 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Tastendruck an ein anders Programm schicken

  Alt 2. Feb 2014, 16:27
Hallo Leute,
so langsam verstehe ich nichts mehr.
Ich möchte mit meinen Programm ein anderes Programm steuern und hierzu einen Auswahl im Menu treffen und dann einen Text senden. Ich habe es einmal mit dem Editor versucht. Nun leider geht es absolut nicht.

Delphi-Quellcode:
wndMain := FindWindow('Notepad','Unbenannt - Editor');
    if wndMain <> 0 then
     begin
      Label1.Caption := 'Fenster gefunden !!';
      Label2.Caption := Inttostr(wndMain);
      Sleep(2000);
      PostMessage(wndMain, WM_KeyDown, VK_Menu,0);
      PostMessage(wndMain, WM_KeyDown, Ord('O'),0 );
      PostMessage(wndMain, WM_KeyUp, VK_Menu,0);
      PostMessage(wndMain, WM_KeyUp, Ord('O'),0);
      Sleep(1000);
      PostMessage(wndMain, WM_KeyDown, VK_Menu,0);
      PostMessage(wndMain, WM_KeyDown, Ord('S'),0 );
      PostMessage(wndMain, WM_KeyUp, VK_Menu,0);
      PostMessage(wndMain, WM_KeyUp, Ord('S'),0);

      PostMessage(wndMain, WM_KeyDown, Ord('J'),0);
      PostMessage(wndMain, WM_KeyUp, Ord('J'),0);
Ich möchte es gene an die Anwednung schicken damit ich mir auch sicher bin das es bei der richtigen Anwendung ankommt. HIer geht leider überhaupt nichts

Wenn ich die Anwendung in den Vordergrund hole und ein

Delphi-Quellcode:
     keybd_event(ord('A'),0,0,0);
            keybd_event(ord('A'),0,Keyeventf_keyup,0);
dann geht e.
Es muss doch möglich sein eine Taste an eine Programm zu schicken was nicht unbedingt im Vordergrund ist. Oder ?

Tanja
Tanja
  Mit Zitat antworten Zitat