必须使用MsgBox命令创建标准Windows消息框,支持基础提示、自定义按钮与返回值捕获、图标与标题控制、超时自动关闭及多行文本处理。

如果您在编写AutoHotkey脚本时需要向用户显示提示信息或获取简单交互反馈,则必须使用MsgBox命令来创建标准Windows消息框。以下是实现该功能的具体方法:
一、基础MsgBox语法与默认行为
MsgBox是AutoHotkey内置命令,用于弹出模态对话框,支持文本显示、按钮配置、图标类型及超时控制。其最简形式仅需提供提示文本,系统将自动使用“确定”按钮和信息图标。
1、在脚本中输入:MsgBox, Hello, World!
2、运行脚本后,将弹出一个标题为“Hello”、内容为“World!”的消息框,含一个“确定”按钮。
3、点击“确定”后,MsgBox命令执行完毕,脚本继续向下运行。
二、自定义按钮与返回值捕获
通过设置选项参数,可更改按钮组合(如“是/否”、“重试/取消”等),并利用内置变量A_EventInfo或ErrorLevel读取用户点击结果,从而实现分支逻辑判断。
1、编写语句:MsgBox, 4, 确认操作, 是否继续执行?
2、其中数字4代表“是/否”按钮组,点击“是”时A_EventInfo值为6,点击“否”时为7。
3、在MsgBox后立即添加条件判断:If (A_EventInfo = 6) { MsgBox, 用户选择了“是” }。
三、添加图标与标题控制
MsgBox支持在选项参数中嵌入图标标识符,以增强视觉提示效果;标题字符串独立于消息体,可明确标识对话框用途。
1、使用十六进制组合码:MsgBox, 64, 错误提醒, 文件未找到,请检查路径。
2、此处64对应“停止”图标(红色圆圈带叉),标题显示为“错误提醒”,正文显示“文件未找到,请检查路径”。
3、其他常用图标码包括:16(手形/停止)、32(问号)、48(感叹号)、0(无图标)。
四、设置超时自动关闭
为避免脚本长期阻塞,可在MsgBox命令中指定超时毫秒数,超时后对话框自动关闭并返回超时值,脚本继续执行。
1、写入完整格式:MsgBox, 0, 提示, 请在5秒内选择, 5
2、参数顺序为:选项、标题、文本、超时(秒),此处5表示5秒超时。
3、超时发生时,A_EventInfo值为-1,可用于触发默认操作分支。
五、多行文本与特殊字符处理
MsgBox支持换行与常见转义序列,但需注意双引号、逗号等符号需转义,否则会导致语法解析失败。
1、插入换行使用`n:MsgBox, % "第一行`n第二行`n第三行"
2、显示双引号需用两个双引号:MsgBox, % "他说:""你好!"""
3、连接变量时使用百分号包围:Name := "张三", MsgBox, % "欢迎," Name "!"

















