自动热键,切换:每秒按住 Shift,单击并释放 LButton

问题描述

我正在尝试制作一个包含 Shift 的 AutoHotkey 脚本,当它持有它时,我需要每秒点击和释放鼠标。这是我目前想到的。

Home::
KeyDown := !KeyDown
If KeyDown
    sendinput {Shift down},Click,Sleep 2000
Else
    sendinput {Shift up}
Return

解决方法

此循环在经过一定时间后最好使用调用 SetTimerSubroutine 函数来实现。

此外,由于您的脚本按住 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