![]() |
Mausklick als HotKey registrieren?
Ich möchte, dass mein Programm bei einem linken Mausklick (außerhalb meines Programms) einen Befehl ausführt. Dazu müsste wohl der Mausklick als HotKey registriert werden. Geht das überhaupt?
Beispiel:
Delphi-Quellcode:
HotKey 1 (Leertaste) geht, HotKey 2 (linke Maustaste) nicht. :cry:
private
{ Private declarations } procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; ... procedure TForm1.FormCreate(Sender: TObject); begin RegisterHotKey(Handle, 1 , 0, VK_SPACE); RegisterHotKey(Handle, 2 , 0, VK_LBUTTON); end; procedure TForm1.WMHotKey(var Msg: TWMHotKey); begin If Msg.HotKey = 1 then Form1.Color := clred; If Msg.HotKey = 2 then Form1.Color := clgreen; end; procedure TForm1.FormDestroy(Sender: TObject); begin UnregisterHotKey(Handle, 1); UnregisterHotKey(Handle, 2); end; end. |
Re: Mausklick als HotKey registrieren?
Dann wäre dein ganzes Windows nicht mehr Bedienbar mit Maus. Denn wenn eine Taste als Hotkey registriert ist wird nur die Hotkeyaktion ausgeführt aber der eigentliche Tastendruck wird verworfen.
|
Re: Mausklick als HotKey registrieren?
Hallo Jens,
schon klar, deshalb möchte ich nach Ausführen des HotKey Befehls den HotKey ausschalten und mit meinem Programm einen Mausklick simulieren. Mich interessiert, ob es überhaupt möglich ist einen Mausklick als HotKey zu registrieren, oder ob das aus den von Dir genannten Günden erst gar nicht geht. |
Re: Mausklick als HotKey registrieren?
Wie wäre es denn mit einem MouseHook oder mit GetKeyAns... (Befehl leider etwas verworfen^^).
MouseHook ist sicherlich das eleganteste. Beispiele findest du auf Torry.net für einen LowLevelMouseHook. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz