问题描述
我正在尝试制作一个包含 Shift 的 AutoHotkey 脚本,当它持有它时,我需要每秒点击和释放鼠标。这是我目前想到的。
Home::
KeyDown := !KeyDown
If KeyDown
sendinput {Shift down},Click,Sleep 2000
Else
sendinput {Shift up}
Return
解决方法
此循环在经过一定时间后最好使用调用 SetTimer 的 Subroutine 函数来实现。
此外,由于您的脚本按住 Shift 键,您还需要在 Shift+Home 时调用热键也按下,以便它可以关闭。
最终代码:
Home::
+Home:: ;Alternative hotkey definition that invokes on Shift+Home
KeyDown := !KeyDown
if (KeyDown){
SendInput {Shift down}
gosub,clickSubroutine ;To trigger the first click immediately
SetTimer,clickSubroutine,1000 ;To trigger clicks after every 1000 ms (1 second)
}
else{
SendInput {Shift up}
SetTimer,Off ;Turn off the clickSubroutine Loop
}
Return
clickSubroutine:
Click
return