使用AutoHotKey发送A_ThisHotkey

时间:2016-09-23 22:15:43

标签: autohotkey

我有以下使用A_ThisHotkey的AutoHotKey脚本:

spamLimit(limitTime)
{
    send %A_ThisHotkey%
}

p::spamLimit(500)

如何按 P 不发送字母p,而是打开以下窗口

enter image description here

1 个答案:

答案 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)