2016-08-27 4 views
0

Ich versuche, einige Macro zu laufen, die mir erlauben, linke Maustaste zu simulieren, klicken Sie, bis die linke Maustaste gedrückt wird. Aber ich weiß nicht, wie man das Skript zwingt zu stoppen, wenn ich die physische Freigabe erhalte. Linke Maustaste und erneutes Starten von script, sobald LButton erneut gedrückt wird. Mein Code sieht wie folgt aus:LButton gedrückt/losgelassen, wenn LButton gedrückt

SetTimer, keyStates, 100 

LeftClick:="LButton" 
KeyStates: ; SubRoutine 
if GetKeyState(LeftClick, "P") { 
      DllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 2, int, 0, int, 0, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 2, int, 0, int, 0, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 2, int, 0, int, 0, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 2, int, 0, int, 0, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0) 
      Sleep 75 
      DllCall("mouse_event", uint, 2, int, 0, int, 0, uint, 0, int, 0) 
      Sleep 75   
     } 
    } 

Ich bin komplett neu in dieser Skriptsprache, so dass ich für jede Hilfe dankbar sein würde

+0

Es ist mir immer noch ein wenig unklar, was Sie erreichen wollen: Soweit ich es verstehe, wollen Sie jetzt beim ersten physischen linken Klick eine "Klickschleife" starten und diese Schleife nach dem zweiten Physical anhalten linker Knopf klicken, richtig? – DAXaholic

+0

Keine klickende Schleife, wenn ich die linke Maustaste gedrückt halte. Wenn ich Linksklick loslasse, muss ich die Schleife stoppen – LukeJ

+0

Jetzt ist es noch verwirrender für mich :) Keine Klickschleife, wenn du den Knopf gedrückt hältst, aber wenn du es loslässt, sollte es aufhören - wie sollte es aufhören, wenn es nie angefangen hat? – DAXaholic

Antwort

0

Ihr Code nicht kompiliert, da der letzte schließenden Klammer, }, doesn‘ t haben eine entsprechende öffnende Klammer. Entfernen Sie es.

die Zeilen hinzufügen:

#Persistent 

an der Spitze des Skripts, so dass das Programm nicht sofort schließt.

Mit diesen Korrekturen funktioniert das Programm.

Verwandte Themen