2012-03-21 21 views
1

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

什么?这个问题有什么问题?被打倒的选民。 :roll: – Synetech 2012-03-29 03:16:58

回答

2

我缺少的return命令:

^s:: 
    MsgBox Hotkey1 
return 

MsgBox 1 


^a:: 
    MsgBox Hotkey2 
return 

MsgBox 2 

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

+0

是的,标签:成为你的大括号,'return'成为你的结局。 (基本上) – FakeRainBrigand 2012-03-22 16:30:01