如果按下快捷键,如何获取热键定义?

如果按下快捷键,如何获取热键定义?

例如,如果我按此顺序按下Ctrl++ Shift+ AltC我如何获取相应的热键定义?

我期望得到如下结果:

; pseudo code
*::MsgBox %A_ThisHotkey% was pressed

答案1

我假设您问的是怎样编写热键定义...请参阅Hotkey Modifier Symbols下面Hotkeys的帮助。可能有一个包罗万象的全局热键触发器,但如果有的话,我不知道它是什么。

不过,一旦您了解了基本的修饰符语法,您就不需要这个了。此外,就修饰符而言,没有“顺序”——当热键触发时,它们要么被按下,要么不被按下,而且一旦您在c列出的示例中按下它们,您按什么顺序按下它们实际上并不重要。

; ^ = Control
; + = Shift
; ! = Alt

所以热键定义是......

 ^+!c::

此外,事实证明有一种方法可以按照您所要求的方式进行操作,尽管我以前从未尝试过或使用过它。请参阅GUI Control Types帮助,然后Hotkey从目录中查看GUI Control Types...这可以创建一个特殊的 GUI 控件,能够捕获输入并将其转换为热键定义...

Gui, Add, Hotkey, vChosenHotkey
Gui, Show

Loop {
    Gui, Submit, NoHide
    ToolTip % ChosenHotkey
    Sleep 10
}

相关内容