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.