Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mausklick als HotKey registrieren? (https://www.delphipraxis.net/119308-mausklick-als-hotkey-registrieren.html)

nezumi 24. Aug 2008 09:43


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:
 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.
HotKey 1 (Leertaste) geht, HotKey 2 (linke Maustaste) nicht. :cry:

SirThornberry 24. Aug 2008 09:45

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.

nezumi 24. Aug 2008 09:53

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.

napsterxx 24. Aug 2008 11:14

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