我有以下使用A_ThisHotkey
的AutoHotKey脚本:
spamLimit(limitTime)
{
send %A_ThisHotkey%
}
p::spamLimit(500)
如何按 P 不发送字母p
,而是打开以下窗口
答案 0 :(得分:1)
它只是循环p
- >启动与p
热键关联的命令 - > send p
- >启动与p
热键关联的命令 - > send p
- > ...
要防止此行为,您可以使用命令Hotkey
暂时禁用该热键。例如:
spamLimit(limitTime)
{
Hotkey, %A_ThisHotkey%, off
send %A_ThisHotkey%
}
p::spamLimit(500)
另一个解决方案是在定义命令时使用$
,which强制热键中的挂钩,即禁止热键由其自己的发送命令触发,通常是大多数其他虚拟(非物理) )按键。示例(需要使用函数StringReplace
,否则输出$p
而不是p
。):
spamLimit(limitTime)
{
StringReplace, key, A_ThisHotkey, $, , All
send %key%
sleep limitTime
}
$p::spamLimit(500)