autohotkey可通过gui命令创建带按钮和输入框的gui界面:先用gui, new新建实例,再用gui, add添加文本、单行/多行输入框、按钮、复选框等控件,配合gui, show显示窗口;通过同名label响应按钮点击,用guicontrolget读取输入内容并用msgbox显示;支持设置图标、窗口居中及enter键触发提交。

如果您希望使用AutoHotkey创建一个具备按钮和输入框的图形用户界面(GUI),则需要调用内置GUI命令构建窗口、控件及事件响应逻辑。以下是实现该功能的具体步骤:
一、基础GUI窗口创建与显示
AutoHotkey通过Gui, Add命令添加控件,Gui, Show命令显示窗口。窗口需设置标题、尺寸,并启用默认消息循环以维持响应性。
1、使用Gui, New命令新建一个GUI实例,避免与旧GUI冲突。
2、使用Gui, Add, Text命令添加静态文本标签,用于提示输入框用途。
3、使用Gui, Add, Edit命令添加单行输入框控件,并为其分配变量名以便后续读取内容。
4、使用Gui, Add, Button命令添加可点击按钮,指定其文本和关联的Label标签名称作为点击响应入口。
5、使用Gui, Show命令显示窗口,参数中指定宽度、高度和标题文字。
二、为按钮绑定点击事件处理函数
在AutoHotkey中,按钮点击会触发同名Label标签下的指令块。需定义该Label并编写对应逻辑,例如读取输入框内容或执行操作。
1、在脚本中定义一个Label,名称必须与Gui, Add, Button中的g参数值完全一致。
2、在该Label下使用GuiControlGet命令获取输入框中当前文本内容,并存入指定变量。
3、使用MsgBox命令弹出对话框显示所获取的输入内容,验证交互是否生效。
4、如需关闭窗口,可在Label内调用Gui, Destroy命令清除GUI资源。
三、添加多行输入与复选框增强交互能力
进阶界面常需支持多行文本输入和布尔选项控制。AutoHotkey提供Edit控件的Multi和ReadOnly选项,以及CheckBox控件类型来满足此类需求。
1、使用Gui, Add, Edit命令时添加vMyMultiline变量名及+Multi选项,创建可滚动多行编辑框。
2、使用Gui, Add, CheckBox命令添加带文字说明的复选框控件,并赋予唯一变量名如IsUrgent。
3、在按钮响应Label中,使用GuiControlGet分别读取多行文本变量和复选框状态变量。
4、利用If语句判断复选框是否被勾选,从而决定是否在消息中附加特定标识,例如【紧急】。
四、设置窗口图标与居中显示提升专业感
默认GUI窗口使用系统图标且左上角定位,可通过内置命令更换图标文件并调整位置,使界面更符合实际应用要求。
1、将.ico格式图标文件置于脚本同目录下,命名为appicon.ico。
2、在Gui, New之后立即使用Gui, Icon命令加载该图标文件路径。
3、在Gui, Show之前使用Gui, +LastFound命令激活当前GUI窗口句柄。
4、调用WinGetPos命令获取屏幕分辨率,再通过计算得出居中坐标,最后用WinMove命令将窗口移至中心位置。
五、实现输入框回车触发按钮逻辑
用户习惯按Enter键提交表单,AutoHotkey可通过OnMessage监听WM_KEYDOWN消息并捕获VK_RETURN虚拟键码,模拟按钮点击行为。
1、在Gui, Show前使用OnMessage(0x100, "OnKeyDown")注册键盘消息回调函数。
2、定义OnKeyDown函数,在其中判断wParam是否等于13(即Enter键ASCII码)。
3、若条件成立,调用PostMessage命令向按钮控件发送BM_CLICK消息,强制触发其绑定的Label逻辑。
4、确保按钮控件已通过Gui, Add, Button设置hWnd变量名,以便PostMessage准确定位目标控件句柄。











