Hallo zusammen,
ich sitze schon seit einigen Tagen an folgendem Problem:
Ich möchte aus meinem Delphi-Programm an ein anderes Fenster die Tastenkombination 'CTRL+C' (also Kopieren) senden. Meiner Recherche zu folge gibt es zwei Möglichkeiten, SendMessage mit WM_COPY und SendMessage mit WM_KEYDOWN/WM_KEYUP. Das erste funktioniert bei Notepad einwandfrei, bei Google Earth leider nicht. Die zweite Alternative funktioniert bei beidem nicht. Ich mir wie folgt das Fenster besorgt und die Tastenbefehle abgesendet:
Delphi-Quelltext
1: 2: 3: 4: 5:
| rc:=Windows.FindWindow('QWidget','Google Earth'); SendMessage(rc, WM_KEYDOWN, $11,0); SendMessage(rc, WM_KEYDOWN, $43,0); SendMessage(rc, WM_KEYUP, $43,0); SendMessage(rc, WM_KEYUP, $11,0); |
(btw. $11 sollte der CTRL-Key sein)
Leider scheint nur der $43-Tastendruck ('C') gesendet zu werden. Mache ich hier etwas falsch? Oder liegt es evtl. daran, dass das QWidget (QT-Lib) leider nicht auf bestimmte Messages reagiert?
Hat jemand eine Idee?
Gruß
Patrick