可以抛弃msgbox的调试输出了,直接改用scite控制台直接输出调试信息;

1)新建任意一个ahk文件,例如debug.ahk

2)内容如下:

debug(Text)
{
SciObj := ComObjActive("SciTE4AHK.Application") ;激活scite自带的com组件 
 ;~ IfEqual,Clear,1,SendMessage,SciObj.Message(0x111,420) 
;If clear=1 Clear output window 
 ;~ Sleep, 500 
 ;~ IfEqual, LineBreak,1,SetEnv,Text,`r`n%text% 
;If LineBreak=1 prepend text with `r`n  
SciObj.Output(Text) ;通过com组件把变量信息发送到控制台  
;~  IfEqual, Exit,1,MsgBox, 36, Exit App?, Exit Application?
;If Exit=1 ask if want to exit application  
;~  IfMsgBox,Yes, ExitApp
;If Msgbox=yes then Exit the appliciation
}

3)保存后将此文件复制到autohotkey安装目录下的lib文件夹(如果没有就新建一个lib)

4)开启scite编辑,在需要调试的部位用代码: debug(string),点击工具栏上的控制台调试箭头就可以查看调试信息。

5)一个注意的地方:如果是安装版本的autohotkey,那么将此文件复制到安装目录下,如果ahk是绿色便携版,那么此lib应该建立在ahk绿色版本的文件夹下面;

6)在后期编译为exe之前要删除这个debug()的代码行,否则编译后运行会出错。