Post by UnReALiTyy » 07 Dec 2022, 10:21
Electro wrote: ↑04 Dec 2022, 13:28
Moin,
Ich hab ein Skript welches ein Programm schließt und danach startet und sich einloggt,
wie bekomme ich es hin das täglich um xx Uhr startet (wichtig ist, das es nur 1x startet und
danach wieder am nächsten Tag um xx Uhr).
Hatte gerade folgendes via google gefunden:
Code: Select all
Start := "19:16"
SecondsToWait -= A_YYYY A_MM A_DD SubStr(Start,1,2) SubStr(Start,-1), Seconds
SetTimer, TIMER,% SecondsToWait * 1000
Hat auch soweit funktioniert, nur hat das das Skript kurze Zeit später wieder ausgeführt.
mfg
Dies ist eigentlich relativ Simpel. In der
IF Zeile schreibst du zwischen die Anführungszeichen
" " die Uhrzeit und in die Klammern
{ } darunter die Befehle die zu dieser Uhrzeit ausgeführt werden sollen. Der SetTimer führt es dann jede Minute erneut aus und ist somit nur einmal am Tag möglich.
Code: Select all
Timer:
IF (A_Hour ":" A_Min = "08:30") {
MsgBox, Zeit erreicht
;deine Befehle XY
}
SetTimer, Timer, -60000
Return
Du kannst aber auch eine kurze Version ganz oben im Skript setzen. Finde ich persönlich besser. Der Befehl bleibt identisch.
Code: Select all
SetTimer, Timer, 60000
Timer:
IF (A_Hour ":" A_Min = "08:30")
goto, start
else Return
start:
;deine Befehle XY
Return
[quote=Electro post_id=494543 time=1670178528 user_id=152599]
Moin,
Ich hab ein Skript welches ein Programm schließt und danach startet und sich einloggt,
wie bekomme ich es hin das täglich um xx Uhr startet (wichtig ist, das es nur 1x startet und
danach wieder am nächsten Tag um xx Uhr).
Hatte gerade folgendes via google gefunden:
[code]Start := "19:16"
SecondsToWait -= A_YYYY A_MM A_DD SubStr(Start,1,2) SubStr(Start,-1), Seconds
SetTimer, TIMER,% SecondsToWait * 1000[/code]
Hat auch soweit funktioniert, nur hat das das Skript kurze Zeit später wieder ausgeführt.
mfg
[/quote]
Dies ist eigentlich relativ Simpel. In der [c]IF[/c] Zeile schreibst du zwischen die Anführungszeichen [c]" "[/c] die Uhrzeit und in die Klammern [c]{ }[/c] darunter die Befehle die zu dieser Uhrzeit ausgeführt werden sollen. Der SetTimer führt es dann jede Minute erneut aus und ist somit nur einmal am Tag möglich.
[code]Timer:
IF (A_Hour ":" A_Min = "08:30") {
MsgBox, Zeit erreicht
;deine Befehle XY
}
SetTimer, Timer, -60000
Return[/code]
Du kannst aber auch eine kurze Version ganz oben im Skript setzen. Finde ich persönlich besser. Der Befehl bleibt identisch.
[code]SetTimer, Timer, 60000
Timer:
IF (A_Hour ":" A_Min = "08:30")
goto, start
else Return
start:
;deine Befehle XY
Return[/code]