无法用AutoHotkey按住键

时间:2015-11-14 17:34:16

标签: windows autohotkey

我有一个似乎没有按预期运行的简单脚本:

^j::
  Send, {Down down}
  Sleep, 10000
  Send, {Down up}
Return

我希望按住向下箭头键10秒钟,然后释放。相反,它按下向下键一次,并打破脚本直到重新加载。我做错了什么?

3 个答案:

答案 0 :(得分:1)

Send documentation说:

  

当通过上述方法按下某个键时,它不会像您实际按住它时那样开始自动重复(这是因为自动重复是驱动程序/硬件功能)。

使用SetKeyDelay并指定重复次数:

SetKeyDelay, 30
Send {Down 333}

333约为10000/30

或者,您可以在loop中执行此操作并检查其他密钥,以便停止发送Down密钥。

答案 1 :(得分:1)

找到了一个很好的解决方法,尝试这样的脚本(根据自己的喜好调整Mynumber变量以及睡眠状态)

a::
Mynumber = 10
While Mynumber > 0
{
Send {Down DOWN}
Sleep 10
Send {Down UP}
Mynumber--
}

答案 2 :(得分:0)

根据文件,这应该有效:

To hold down or release a key: Enclose in braces the name of the key followed by the word Down or Up. For example:

Send {b down}{b up}
Send {TAB down}{TAB up}
Send {Up down}  ; Press down the up-arrow key.
Sleep 1000  ; Keep it down for one second.
Send {Up up}  ; Release the up-arrow key.

关于按住键的文档:https://www.autohotkey.com/docs/commands/Send.htm