AHK 新手写脚本时,最容易把热键、热字符串、标签、函数混在一起。它们看起来都能“执行一段代码”,但触发方式、传参方式、复用方式完全不同。分清这 4 个概念,脚本结构会立刻清楚很多。
一、热键:按键触发
热键就是按下某个键或组合键时执行代码。比如 F1、^c、!q、#n。它适合做快捷操作、开关脚本、触发自动化流程。
#Requires AutoHotkey v1.1 #NoEnv #SingleInstance Force F1:: MsgBox, 你按下了 F1 return ^!r:: Reload return
热键的核心是“由键盘或鼠标事件触发”。它不是函数,不建议靠 Gosub 到处乱跳来复用热键内部代码。需要复用时,把核心逻辑写成函数,再由热键调用。
二、热字符串:输入文本触发
热字符串是输入某段文字后自动替换或执行代码。它适合做短语展开、地址输入、模板文本、常用命令。
::addr::北京市朝阳区示例路 66 号 ::btw::by the way :*:eml:: SendInput, user@example.com return
热字符串和热键的区别是:热键看按键组合,热字符串看你输入了什么文字。写文章、客服回复、代码模板时,热字符串非常好用。
三、标签:给流程跳转用的入口
标签是以冒号结尾的名字,例如 DoWork:。它常配合 Gosub、Goto、SetTimer、GUI 事件使用。标签是 AHK v1 里很常见的流程组织方式。
SetTimer, CheckTime, 1000 return CheckTime: FormatTime, now,, HH:mm:ss ToolTip, %now% return
标签适合接定时器、老式 GUI 事件、简单流程跳转。但新手要少用 Goto,否则脚本很快会变成一团线。能用函数表达的逻辑,优先写成函数。
四、函数:最适合复用和传参
函数可以接收参数、返回结果、被多处调用,是脚本变大的时候最应该掌握的组织方式。
F2::
result := Add(10, 20)
MsgBox, %result%
return
Add(a, b) {
return a + b
}
函数的优势是边界清楚。你给它什么参数,它返回什么结果,容易测试,也容易维护。脚本越复杂,越应该把业务逻辑放进函数里。
五、四者怎么选
| 概念 | 触发方式 | 适合做什么 |
|---|---|---|
| 热键 | 按键或鼠标组合 | 快捷操作、启动流程、暂停脚本 |
| 热字符串 | 输入指定文本 | 文本替换、短语展开、模板输入 |
| 标签 | Gosub、SetTimer、GUI事件 | 定时器、旧式事件入口、简单流程 |
| 函数 | 代码主动调用 | 复用逻辑、传参、返回结果 |
六、推荐写法
比较稳的结构是:热键只负责触发,函数负责真正做事,标签负责接定时器或必要的事件。
F3::
DoSearch("AutoHotkey")
return
SetTimer, AutoSave, 60000
return
AutoSave:
SaveLog("timer tick")
return
DoSearch(keyword) {
Run, https://www.ahk66.com/?s=%keyword%
}
SaveLog(text) {
FileAppend, %A_Now% - %text%`n, %A_ScriptDir%\log.txt
}
一句话记忆:热键管“什么时候按”,热字符串管“输入什么触发”,标签管“跳到哪里执行”,函数管“这件事怎么复用”。
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。

评论(0)