Also in der CodeLibrary stand, dass man auch eine einzelne Taste definieren kann. Diese letzte vereinbarte Taste muss laut Delphi vom Typ cardinal sein. Das dürften aber doch dann nur "Sondertasten", wie Pfeil auf oder - ab sein oder irre ich mich da?
Beim Testen habe ich herausgefunden, dass das Klicken außerhalb des Forms auch funktioniert, mein Problem ist nur den Timer wieder zu disabeln. Bis jetzt sieht das folgendermaßen aus:
Delphi-Quellcode:
var
...
curs:tpoint;
klick:boolean;
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
for i:=1 to 2 do begin
mouse_event(MOUSEEVENTF_LEFTDOWN, Curs.x, Curs.y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, Curs.x, Curs.y, 0, 0)
end;
end;
procedure TForm1.WMHotKey(var Message:TMessage);
begin
If Message.wParam=HotKeyID then begin
if not klick then begin
klick:= true;
GetCursorPos(curs);
if anaus=true then
timer1.Enabled:=true
else if klick then
timer1.Enabled:=false;
end;
end;
end;
Die Variable klick ist am Anfang false und wird bei Aktivierung des Timers auf true gesetzt. Das würde also bedeuten, dass beim nächsten Mal, wenn der Hotkey gedrückt wird die zweite Bedingung erfüllt ist und der timer wieder gestoppt wird. Problem: beim erneuten Drücken des Hotkeys, wird der Timer trotzdem nicht gestoppt
.