Autohotkey热键处理程序通过/继续下面的行

时间:2012-03-21 21:57:48

标签: hotkeys autohotkey handlers fall-through

我在使用Autohotkey时遇到了一些麻烦。我有一个带有一些热键的脚本,但似乎当按下热键时,它的处理程序不仅会运行,而且其下面的所有行都会运行,包括其他热键处理程序的内容。以下是一个示例。

有什么问题?如何让Autohotkey只执行 处理程序中指定的行?


#SingleInstance force

;Main loop
While 1
{
}

;Hotkeys:

;Quit with Ctrl+Q
^q::
{
    MsgBox  Quitting
    ExitApp
}

^s::
{
    MsgBox  Hotkey1
}
MsgBox 1

^a::
{
    MsgBox  Hotkey2
}
MsgBox 2

1 个答案:

答案 0 :(得分:2)

我错过了return命令:

^s::
    MsgBox  Hotkey1
return

MsgBox 1


^a::
    MsgBox  Hotkey2
return

MsgBox 2

我想我已经习惯了更严格的C ++语法;大括号的工作方式不一样。在使用Autohotkey脚本时,我只需要回想一下Basic和Assembler的美好时光。