Autohotkey 自动热键,切换:按住Shift键,单击并每秒释放一次L按钮
我正在尝试制作一个自动热键脚本来保存Shift,当它保存Shift时,我需要鼠标每秒点击并释放它。这就是我到目前为止所想到的Autohotkey 自动热键,切换:按住Shift键,单击并每秒释放一次L按钮,autohotkey,Autohotkey,我正在尝试制作一个自动热键脚本来保存Shift,当它保存Shift时,我需要鼠标每秒点击并释放它。这就是我到目前为止所想到的 Home:: 向下键:=!按下 如果按下键 SendInput{Shift down},单击,睡眠2000 其他的 SendInput{Shift up} 返回 经过一定时间后,此循环行为最好通过调用函数来实现 此外,由于脚本按住Shift键,因此还需要在按下Shift+Home时调用热键,以便将其关闭 最终代码: Home:: +Home:: ;Alternative
Home::
向下键:=!按下
如果按下键
SendInput{Shift down},单击,睡眠2000
其他的
SendInput{Shift up}
返回
经过一定时间后,此循环行为最好通过调用函数来实现
此外,由于脚本按住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, clickSubroutine, Off ;Turn off the clickSubroutine Loop
}
Return
clickSubroutine:
Click
return
看起来不错,但我有两个小毛病:1)热键定义是多余的,因为除非您另外指定,否则自动热键会自动捕获每个热键的“大写”版本,包括按下
Shift
的时间。这是有案可查的。我认为一些缩进会使它更容易阅读。除此之外,这正是我要做的。回应挑剔@CharlieArmstrong:1。虽然KeyDown
为真,但在添加Shift
+Home
热键定义之前,我无法触发热键。我明白你的意思,但我不认为它适用于主
键,特别是考虑到该键没有标准的“大写”版本。2.缩进更新;谢谢你指出这一点。嗯,这很有趣。我只是将您的代码直接复制到一个新的AHK脚本中,删除了+Home::
行,它的工作方式与预期的一样。可能是系统/版本相关的行为?缩进看起来不错:)