我正在尝试使用 SPACE + A 触发 Alt tab Widget

我正在尝试使用 SPACE + A 触发 Alt tab Widget

我尝试使用 SPACE + A 来触发 Alt tab Widget,但是按住 SPACE 键时,A 和 D 需要充当方向键。最后在释放 SPACE 键时退出 Widget。

我遇到的问题是,当我释放 SPACE 键时,小部件不会消失(alt 仍然卡在下方)

我知道我可以调用粘性应用切换器,但这更像是一种练习,以了解 if/while GetKeyState,所以请不要只推荐 alt+ctrl+tab

谢谢,

这是我的代码。

Space & a::

Send,{Alt Down}
Send,{Tab}
Sleep, 200
While GetKeyState("Space", "P")

{
    a::Left 
    d::Right
}

If !GetKeyState("Space", "P")

{
    Send,{Alt Up}
}

答案1

Space & a::
    Send,{Alt Down}{Tab}
    ; Sleep, 200
Return

#If GetKeyState("Space", "P")

    a::Left 
    d::Right

    ; The tilde prefix (~) prevents AHK from blocking the key-down/up events:
    ~Space up:: Send,{Alt Up}

#If

https://www.autohotkey.com/docs/Hotkeys.htm#Tilde

相关内容