Hallo,
ich möchte mit meinem DelphiProgramm an ein anderes Fenster senden, dass STRG+C gedrückt wird, ohne dass dieses den Fokus hat oder bekommt.(mit der Suchfunktion habe ich nichts gefunden, was mir weiter geholfen hat)
Ich probiere es so :
Delphi-Quellcode:
PostMessage(
Handle, WM_KEYDOWN,$11,$2E0001);
//2E0001- den wert hab ich einfach von winspector übernommen, keine ahnung was der aussagt :)
PostMessage(
Handle, WM_KEYDOWN,$43,3014657);
und laut winspector kommt es auch an als
WM_Keydown; Virtual Key: VK_Control
WM_Keydown; Virtual Key: C
durch "WM_Keydown; Virtual Key: C" wird noch WM_Char ausgelöst.
Da passt es dann auch nicht mehr zum manuellen drücken:
Beim manuellen drücken hat WM_Char den Wert 0x3 und beim simulierten 0x63.
Beim simulierten Drücken wird allerdings nicht kopiert.
Ich habe es mit keybd_event probiert, das funkioniert bei mir allerdings nur , wenn das Fenster, aus dem kopiert werden soll, aktiv ist. Es klappt, wenn ich mit keybd_event STRG drücke und nicht das keyup event auslöse und C wie oben "drücke", allerdings erst beim 2. mal C "drücken".
Weiß jemand wie man das Problem lösen kann?
Und was bei WM_Keydown der lParam aussagt? Konnte dazu och nichts finden.
Mit Autohotkey habe ich es mit dem Befehl Controlsend so hinbekommen wie ich es möchte, aber das bekomme ich in Delphi nicht reproduziert.
Danke im voraus
veio