Autohotkey 用同一个键切换无限循环

Autohotkey 用同一个键切换无限循环,autohotkey,Autohotkey,我希望能够按这个键运行一个无限循环,并且能够按相同的键停止循环。在一个简单的情况下,我希望脚本无限期地单击: XButton2:: if (Doing = 0) { Doing := 1 While Doing = 1 { Click } return } else { Doing := 0 } 不幸的是,这不起作用-XButton2不再响应,因为它正在运行脚本。我可以通过其他键切换do:=0,但我希望它与XButton2相同。有什么简单的方法吗?我会避免复杂的

我希望能够按这个键运行一个无限循环,并且能够按相同的键停止循环。在一个简单的情况下,我希望脚本无限期地单击:

XButton2::
if (Doing = 0)
{
  Doing := 1
  While Doing = 1
  {
     Click
  }
  return
} else {
 Doing := 0
}
不幸的是,这不起作用-
XButton2
不再响应,因为它正在运行脚本。我可以通过其他键切换
do:=0
,但我希望它与
XButton2
相同。有什么简单的方法吗?我会避免复杂的解决方案。

使用简单的解决方案。这就是通常在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

这就是我通常的做法,尽管我希望看到更紧凑的版本。

您的代码看起来很花哨:d尝试使用
setTimer
instead@Blauhirn我不是AHK pro,只是将其用于一些非常简单的事情:)这看起来很有趣,谢谢,我将看看子程序-这可能会解决问题problem@Blauhim谢谢,成功了。如果你能写下这个作为回答,我很乐意接受。是的,我很懒。本可以省去你的研究。