Code: Select all
#j::
Send {Right down}
Sleep 2000
Send {Right up}
但为什么实际上程序没有长按
而是只按下了一次→键
Moderators: tmplinshi, arcticir
Code: Select all
#j::
Send {Right down}
Sleep 2000
Send {Right up}
以上摘自2.0的帮助文件。用loop来实现,按2000/30=67。代码如下:按住或释放按键: 用大括号括起按键名称和单词 Down 或 Up. 例如:
使用上面的方法按住一个按键后, 这个期间它不会像您实际按住这个按键一样自动重复(这是由于自动重复是一个驱动/硬件的特性). 不过, 可以使用 Loop 来模拟自动重复. 下面的例子中发送 20 次 tab 键击:Code: Select all
Send "{b down}{b up}" Send "{TAB down}{TAB up}" Send "{Up down}" ; 按下向上键. Sleep 1000 ; 按住 1 秒. Send "{Up up}" ; 释放向上键.
Code: Select all
Loop 20 { Send "{Tab down}" ; 自动重复由连续的按下事件组成(没有弹起事件). Sleep 30 ; 在两次键击之间的毫秒数(或使用 SetKeyDelay 设置). } Send "{Tab up}" ; 松开按键.
Code: Select all
#Requires AutoHotkey v2.0
#SingleInstance force
#j:: {
Loop 67
{
Send "{Right down}" ; 自动重复由连续的按下事件组成(没有弹起事件).
Sleep 30 ; 在两次键击之间的毫秒数(或使用 SetKeyDelay 设置).
}
Send "{Right up}" ; 松开按键.
}