Autohotkey 如何在Appskey(菜单键)中使用更多限定符,如Shift

Autohotkey 如何在Appskey(菜单键)中使用更多限定符,如Shift,autohotkey,Autohotkey,在常用键盘上使用Windows菜单键(在右Windows键和控件之间)可以提供一个很好的限定键,用于在AutoHotKey中定义宏。这在自动热键中称为Appskey,因此,例如,菜单T可以通过以下方式发送“Hello Menu T”: 有没有一种方法可以在Appskey中使用额外的限定符,比如Shift(引用为+) 我在没有运气的情况下尝试了一些显而易见的可能性,比如: Appskey & + T::Send Hello Menu Shift T + Appskey & T::S

在常用键盘上使用Windows菜单键(在右Windows键和控件之间)可以提供一个很好的限定键,用于在AutoHotKey中定义宏。这在自动热键中称为Appskey,因此,例如,菜单T可以通过以下方式发送“Hello Menu T”:

有没有一种方法可以在Appskey中使用额外的限定符,比如Shift(引用为+)

我在没有运气的情况下尝试了一些显而易见的可能性,比如:

Appskey & + T::Send Hello Menu Shift T
+ Appskey & T::Send Hello Menu Shift T
但是,这些操作失败。

使用使组合上下文敏感:

Appskey & T::Send Hello Menu T


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

    Appskey & T::Send Hello Menu Shift T

#If  ; turn off context sensitivity
或者这个:

Appskey & T::
    If GetKeyState("Shift","P")
        Send Hello Menu Shift T
    else
    If GetKeyState("Ctrl","P")
        Send Hello Menu Ctrl T
    else
        Send Hello Menu T
return

谢谢,我最喜欢第二种方法。。。虽然不像通常的“+”在Shift中所能做的那样漂亮。。。我会让这个问题持续几天,看看是否有更好的解决方案,否则就接受你的答案:-)不支持三个或更多键的组合。看它对我仍然有效;感谢您的帮助,并接受回答:-)
Appskey & T::
    If GetKeyState("Shift","P")
        Send Hello Menu Shift T
    else
    If GetKeyState("Ctrl","P")
        Send Hello Menu Ctrl T
    else
        Send Hello Menu T
return