发送长按→右键

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: 发送长按→右键

Re: 发送长按→右键

Post by AutoMT » 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}"  ; 松开按键.
}

发送长按→右键

Post by Q0304 » 24 Jan 2024, 20:15

Code: Select all

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

Top