Das Problem hatte ich auch mal ...
So funktioniert es bei mir:
Im Eventhandler des Hotkeys folgenden Code einfügen
Code:
// Hotkey wurde gedrückt und erkannt,
// Jetzt warten bis alle Tasten losgelassen werden, die den Shiftstate beeinflussen ...
While NOT ((GetASYNCKeyState (VK_LSHIFT) = 0) AND
(GetASYNCKeyState (VK_RSHIFT) = 0) AND
(GetASYNCKeyState (VK_LSHIFT) = 0) AND
(GetASYNCKeyState (VK_RCONTROL) = 0) AND
(GetASYNCKeyState (VK_RCONTROL) = 0) AND
(GetASYNCKeyState (VK_LMENU) = 0) AND
(GetASYNCKeyState (VK_RMENU) = 0)) do
begin
Application.ProcessMessages;
end;
// Jetzt eigene Tastenkombination an das aktive Control senden ...
// in meinem Beispiel STRG+C zum Kopieren des markierten Textes in die Zwischenablage ...
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(Ord('C'), 0, 0, 0);
keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
sleep(20);
Schöne Grüße,
Jens