AutoHotKey:按下另一个键盘按钮时触发无限次按下键盘按钮

时间:2019-01-15 12:37:58

标签: autohotkey

我正在尝试使流程自动化,直到我要求将其停止。

  

我按下键盘上的一个按钮,例如F2。
  当按下F2时,它将启动一个循环,该循环大约每秒钟按下一次F9。
  这种情况一直持续到我再次按F2为止。

我看过教程,但所有真正涉及的人都是鼠标单击。 autohotkey本身的帮助/教程页面也很夸张。 这应该很简单,但事实并非如此。

F2::

SetTimer TheLoop, 200
Return

TheLoop:
Send {F9}

Return

有人可以在这里帮助我吗?

1 个答案:

答案 0 :(得分:3)

尝试使用变量作为计时器是运行还是关闭的切换。像这样:

F2::
bToggle := !bToggle
If bToggle
    SetTimer , TheLoop , 200 ; This is 200 ms
Else
    SetTimer , TheLoop , Off
Return

TheLoop:
Send , {F9}
Return

这是使用三元运算符和评估表达式的更精简版本:

f2::SetTimer , TheLoop , % (( bToggle := !bToggle ) ? "200" : "Off" )

TheLoop:
Send , {f9}
Return