脚本的目标:每次按下热键时连续按下Numpad0 10秒钟。
当前代码:
toggle = 0
#MaxThreadsPerHotkey 2
timerToggle:
Toggle := !Toggle
sleep 10000
Toggle := !Toggle
F12::
SetTimer, timerToggle, -1
While Toggle{
send {NumPad0}
sleep 100
}
return
目前,脚本将按预期运行,但只运行一次。第一次尝试再次运行它什么也没做。我错过了什么?
答案 0 :(得分:1)
我宁愿使用SetTimers
而不是10秒。长while
喜欢这样
F12::
Send {Numpad0}
SetTimer, start, 100
SetTimer, stop, -10000
return
start:
Send {Numpad0}
return
stop:
SetTimer, start, off
return
答案 1 :(得分:0)
您的脚本可能无法正确切换变量。以下是您尝试执行的更简洁版本,使用A_TickCount
:
F12::SetTimer, HoldNumPad, -1
HoldNumPad:
kDown := A_TickCount
While ((A_TickCount - kDown) < 10000)
{
Send {Numpad0}
Sleep 100
}
Return
请注意,在标签运行时按 F12 不会产生任何影响。
编辑:由于MCL,Made SetTimer只使用-1
期运行一次。