Autohotkey 禁用Windows热键

Autohotkey 禁用Windows热键,autohotkey,Autohotkey,我试图创建一个绑定,如果我按住右键单击,它也会按住左键ctrl和左键alt 除此之外,我还想添加一些条件,防止我执行Alt+Tab(在本例中,按住右键单击并按Tab)或Ctrl+Esc。对于这两个条件,我只想插入原始按键,Tab或Esc 问题是,尽管尝试了许多不同的方法来实现这一点,但脚本仍然将我的输入读取为Alt+Tab或Ctrl+Esc,而不是Tab或Esc 这是我的剧本: #IfWinActive Guild Wars 2 #NoEnv #Warn SendMode Input RBut

我试图创建一个绑定,如果我按住右键单击,它也会按住左键ctrl和左键alt

除此之外,我还想添加一些条件,防止我执行Alt+Tab(在本例中,按住右键单击并按Tab)或Ctrl+Esc。对于这两个条件,我只想插入原始按键,Tab或Esc

问题是,尽管尝试了许多不同的方法来实现这一点,但脚本仍然将我的输入读取为Alt+Tab或Ctrl+Esc,而不是Tab或Esc

这是我的剧本:

#IfWinActive Guild Wars 2
#NoEnv
#Warn
SendMode Input

RButton::
    Send {RButton down}
    Send {LCtrl down}
    Send {LAlt down}
    while(GetKeyState("RButton","P")){
        if(GetKeyState("Tab", "P")){
            Send {LCtrl up}
            Send {LAlt up}
            Send {Tab}
            Send {LCtrl down}
            Send {LAlt down}
        }
        else if(GetKeyState("Esc", "P")){
            Send {LCtrl up}
            Send {LAlt up}
            Send {Esc}
            Send {LCtrl down}
            Send {LAlt down}
        }
    }
    KeyWait RButton
    Send {RButton up}
    Send {LCtrl up}
    Send {LAlt up}

#IfWinActive

在发送前添加延迟
选项卡
/
Esc

Send {LCtrl up}
Send {LAlt up}

Sleep 1
Send {Tab}

Send {LCtrl down}
Send {LAlt down}

哇,我很惊讶这么小的事情竟然引起了这么大的问题。非常感谢你。你知道为什么在按下ctrl+alt键后需要睡觉吗?这是因为它会尝试一次完成所有操作吗?我想这是因为
up
事件会毫不延迟地与主按键事件合并在一起。