用同一个键切换无限循环
Toggle infinite loop by the same key
我希望能够按下 key 和 运行 一个无限循环,并且能够按下同一个键来停止循环。在一个简单的例子中,我希望脚本无限期地点击:
XButton2::
if (Doing = 0)
{
Doing := 1
While Doing = 1
{
Click
}
return
} else {
Doing := 0
}
不幸的是,这不起作用 - XButton2
不再响应,因为它是 运行 脚本。我可以通过其他键切换 Doing := 0
,但我希望它是相同的 XButton2
。有什么简单的方法可以做到这一点吗?我会避免复杂的解决方案。
使用 timed subroutine。这就是您通常 start/stop 在 ahk 中循环的方式。
例如:
clicking := false
label_click:
click
return
XButton2::
clicking := !clicking
if(clicking)
setTimer, label_click, 1 ; click once every millisecond (approx.)
else
setTimer, label_click, off
return
我通常是这样做的,尽管我希望看到更紧凑的版本。
我希望能够按下 key 和 运行 一个无限循环,并且能够按下同一个键来停止循环。在一个简单的例子中,我希望脚本无限期地点击:
XButton2::
if (Doing = 0)
{
Doing := 1
While Doing = 1
{
Click
}
return
} else {
Doing := 0
}
不幸的是,这不起作用 - XButton2
不再响应,因为它是 运行 脚本。我可以通过其他键切换 Doing := 0
,但我希望它是相同的 XButton2
。有什么简单的方法可以做到这一点吗?我会避免复杂的解决方案。
使用 timed subroutine。这就是您通常 start/stop 在 ahk 中循环的方式。
例如:
clicking := false
label_click:
click
return
XButton2::
clicking := !clicking
if(clicking)
setTimer, label_click, 1 ; click once every millisecond (approx.)
else
setTimer, label_click, off
return
我通常是这样做的,尽管我希望看到更紧凑的版本。