发送长按→右键 Topic is solved

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

Q0304

发送长按→右键  Topic is solved

24 Jan 2024, 20:15

Code: Select all

#j::
Send {Right down}  
Sleep 2000  
Send {Right up}  
我想在按下win+j组合键后模拟长按→键2秒
但为什么实际上程序没有长按
而是只按下了一次→键
AutoMT
Posts: 8
Joined: 23 May 2023, 21:35

Re: 发送长按→右键

10 May 2024, 02:08

按住或释放按键: 用大括号括起按键名称和单词 Down 或 Up. 例如:

Code: Select all

Send "{b down}{b up}"
Send "{TAB down}{TAB up}"
Send "{Up down}"  ; 按下向上键.
Sleep 1000  ; 按住 1 秒.
Send "{Up up}"  ; 释放向上键.
使用上面的方法按住一个按键后, 这个期间它不会像您实际按住这个按键一样自动重复(这是由于自动重复是一个驱动/硬件的特性). 不过, 可以使用 Loop 来模拟自动重复. 下面的例子中发送 20 次 tab 键击:

Code: Select all

Loop 20
{
    Send "{Tab down}"  ; 自动重复由连续的按下事件组成(没有弹起事件).
    Sleep 30  ; 在两次键击之间的毫秒数(或使用 SetKeyDelay 设置).
}
Send "{Tab up}"  ; 松开按键.
以上摘自2.0的帮助文件。用loop来实现,按2000/30=67。代码如下:

Code: Select all

#Requires AutoHotkey v2.0
#SingleInstance force

#j:: {
   Loop 67
{
    Send "{Right down}"  ; 自动重复由连续的按下事件组成(没有弹起事件).
    Sleep 30  ; 在两次键击之间的毫秒数(或使用 SetKeyDelay 设置).
}
Send "{Right up}"  ; 松开按键.
}

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 7 guests