AutoHotkey Timer?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Könnte man z.B. wie folgt machen. Mit Strg+5 wird das Script gestartet. Mit Strg+6 wird das Script beendet.

^5::   ; Strg+5 = Starten
SetTimer, Aufgabe, 5000
Return

^6::    ; Strg+6 = Beenden
SetTimer, Aufgabe, Off
ExitApp
Return

Aufgabe:
Send, {Numpad5 down}{Numpad5 up}
Return

---

...
Aufgabe:
Send, {Numpad5 down}{Numpad5 up}
Sleep,1000
Send, {Numpad6 down}{Numpad6 up}
Sleep,1000
Send, {Numpad7 down}{Numpad7 up}
Return

---

Jonasker 
Fragesteller
 14.09.2021, 21:35

Hammer! Danke dir!

0
Jonasker 
Fragesteller
 15.09.2021, 01:40

Neue Frage, wie würde es aussehen, wenn erst die 5, eine Sekunde später die 6, eine Sekunde später die 7 gedrückt werden soll?

0
Jonasker 
Fragesteller
 15.09.2021, 02:12
@Jonasker

Muss ich dann die Zeile mit "Send" und z.B. {Numpad6 down} {Numpad6 up} einfach unter die erste Zeile bei "Aufgabe" schreiben?

0
merkurus  15.09.2021, 08:00
@Jonasker

Ja genau. Ich hab mal meinen Beitrag oben ergänzt. "Sleep, 1000" wäre 1 Sekunde Pause.

1
Jonasker 
Fragesteller
 15.09.2021, 12:24
@merkurus

Sehr cool, danke dir.

Angenommen jetzt soll Strg+5 ein Toggle sein, also mit der selben Tastenkombination soll der Script ein- und ausgeschaltet werden.

Jede der einzelnen Tasten soll nun jeweils 20 Millisekunden lang gedrückt bleiben. (Ich will sicherstellen von den DirectX Input Scans erfasst zu werden)

Wäre das dann so richtig?

^5: :
toggle := !toggle
Loop
{
if toggle
{
Send, {Numpad5 down}
Sleep, 20
Send, {Numpad5 up}
Sleep,1000
Send, {Numpad6 down}
Sleep, 20
Send, {Numpad6 up}
Sleep,1000
Send, {Numpad7 down}
Sleep, 20
Send, {Numpad7 up}
Return
}
else
{
break
}
}
0
Jonasker 
Fragesteller
 15.09.2021, 14:06
@Jonasker

Ich erstelle der Einfachheit und Übersicht halber bezüglich meiner nächsten Frage eine neue Frage.

1