反复调用热键

Repeatedly calling a hotkey

我已经尝试在我的程序中实现一个 t 触发器(我想这就是它的名字),但我遇到了一些问题。这个想法是让程序在使用相同的热键时启动和停止。这是我目前所拥有的。

looping := false
pass = 0
max = 2

^r::
   pass++
   looping := true
   while(looping = true AND pass < max)
   {
      Send, stack overflow, save me!
   }

   looping := false
   pass = 0
return

当我 运行 程序并按下热键时,while 循环开始。但是,当我尝试通过按 ^r 来中断循环时,我没有得到任何响应,程序一直在循环。

我认为您指的是 "toggle" 脚本。我不确定您要准确实现什么,但关键是使用逻辑非:looping := !true。更多信息 here.

looping := false
pass = 0
max = 2

^r::
   pass++
   looping := !true
   while (looping & pass < max)
   {
      Send, stack overflow, save me!
   }
   pass = 0
return

这方面有很多资源,这里有一些:
https://autohotkey.com/boards/viewtopic.php?t=11952
http://maul-esel.github.io/ahkbook/en/toggle-autofire.html
https://www.reddit.com/r/AutoHotkey/comments/6wqgbu/how_do_i_toggle_hold_down_a_key/dmad0xx