Timer AHK如何立即停止计时器?
如果我在第5秒按“1”,结果将是:“axbc”Timer AHK如何立即停止计时器?,timer,autohotkey,Timer,Autohotkey,如果我在第5秒按“1”,结果将是:“axbc” 如何使计时器立即停止运行其内容,因此在上述情况下,结果将是“ax”一种方法是在每个睡眠周期后检查热键是否已触发(通过状态变量) SetTimer, Test, 1000 Return Test: Send, a Sleep, 3000 Send, b Sleep, 3000 Send, c Sleep, 3000 Return 1:: Send, x SetTimer, Test, Off Return 谢谢,但这正是我想要摆脱的:)我可能应
如何使计时器立即停止运行其内容,因此在上述情况下,结果将是“ax”一种方法是在每个睡眠周期后检查热键是否已触发(通过
状态
变量)
SetTimer, Test, 1000
Return
Test:
Send, a
Sleep, 3000
Send, b
Sleep, 3000
Send, c
Sleep, 3000
Return
1::
Send, x
SetTimer, Test, Off
Return
谢谢,但这正是我想要摆脱的:)我可能应该澄清一下我在帖子里说的话。当我说“在每个睡眠周期之后”,我的意思是在每次原始代码中有
sleep
语句之后(不是每次Test
子例程完成循环之后)。因此,如果在程序发送第一个a
后的延迟期间按1
键,程序将停止发送信件,最终结果将是ax
。如果这不是您想要的,请澄清您想要程序做什么。@Spyre,我也不确定预期的结果是什么,但我测试了您的代码,在我关闭脚本之前,它从未停止为我发送击键。
;state:=0 ;state is zero by default
SetTimer, Test, 1000
Return
Test:
Send, a
Sleep, 3000
if(state)
return
Send, b
Sleep, 3000
if(state)
return
Send, c
Sleep, 3000
Return
1::
Send, x
SetTimer, Test, Off
state := 1
Return