在Autohotkey中使用循环的简单按键脚本
问题描述:
每当您按w时,您都会进入一个循环,每10秒钟按一下e。必须再次按下另一个按钮以随时离开(并且可以重新开始)。这是我到目前为止:在Autohotkey中使用循环的简单按键脚本
w::
Loop
{
Send, e
Random, SleepAmount, 9000, 10000
Sleep, %SleepAmount%
x::Break
}
Return
我不明白为什么它还没有工作。它会按下一次,之后再也不会做任何事了。
答
x::Break
为
x::
break
return
短形式,因此终止当前子程序。 永不定义任何其他执行机构内的热键。相反,在w
热键之外定义x
-hotkey并使其停止循环。
例使用goTo(注意:goSub是不同,后者将不会终止子程序):
w::
Loop {
send e
Random, SleepAmount, 9000, 10000
Sleep, %SleepAmount%
}
after_loop:
return
x::
goTo after_loop
return
; or, more compact:
; x::goto after_loop
由于goto方法是非常糟糕的编程风格,你可以考虑使用一个timer(而不是环) 。但说实话,这是不值得的,因为你的睡眠量不是固定的。