Hallo AutoIT-community,
ich bin neu auf dem Gebiet der IT/ des Programmierens und habe einen do-until loop geschrieben, der MouseClicks ausführt und Textnachrichten aussenden soll (in X-facher Wiederholbarkeit, auch einstellbar), was auch soweit funktioniert. Jetzt möchte ich diesen Loop jedoch Pausieren/Aktivieren und komplett beenden können, der untere Teil 2 ist aus der offiziellen Seite von AutoIT kopiert und soll es möglich machen hotkeys zu benutzen. In meinem skript bewirken die hotkeys jedoch nichts. Kann jemand das Skript so umschreiben, dass ich den loop aktivieren/pausieren und beenden kann via zugehöriger Hotkeys? Die Suchfunktion im Forum brachte mich leider nicht weiter zum Thema hotkey-Einbidnung.
Vielen Dank im voraus.
Code
#include <MsgBoxConstants.au3>
;Teil 1 funktioniert: ein do ... until loop
Local $i = 0
Do
MouseClick("left" , 155,1181,1)
Sleep(500)
MouseClick("left" , 411,70,1)
Sleep(1500)
MouseClick("left" , 1071,440,1)
sleep(3500)
MouseClick("left" , 1200, 460,1)
sleep(3000)
MouseClick("left" ,588,350,2 )
sleep(1000)
MouseClick("left" ,588,378,1 )
sleep(1000)
MouseClick("left" ,1000,788,1 )
sleep(4000)
MouseClick("left" ,1003,345,1 )
sleep(5000)
MouseClick("left" ,814,489,1 )
sleep(100)
Send("TEXTPASSAGE ABC TEST TEST")
sleep(100)
send("{ENTER}")
sleep(12000)
MouseClick("left",1370,452,1)
sleep(5000)
$i = $i + 1
Until $i = 10 ; Increase the value of $i until it equals the value of 10.
;Teil 2 funktioniert nicht: ein Unterbrecher via HotKeySet
; Press Esc to terminate script, Pause/Break to "pause"
Global $g_bPaused = False
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage") ; Shift-Alt-d
While 1
Sleep(100)
WEnd
Func TogglePause()
$g_bPaused = Not $g_bPaused
While $g_bPaused
Sleep(100)
ToolTip('Script is "Paused"', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>TogglePause
Func Terminate()
Exit
EndFunc ;==>Terminate
Func ShowMessage()
MsgBox($MB_SYSTEMMODAL, "", "This is a message.")
EndFunc ;==>ShowMessage
Alles anzeigen