热键、定时任务与常驻服务
给现有命令分配热键
ini
[open_notepad]
type=f
key=^!F9
code='''
Run("notepad.exe")
'''^ 是 Ctrl,! 是 Alt,+ 是 Shift,# 是 Win。多个热键用 || 分隔。修改后保存并重启。
key= 由发行包中的 def_hotkey 命令承载。这份命令需要存在并在启动时运行。所有 key= 同时无效时,先检查它;不要先逐条改按键。
需要 AHK 条件热键时,可加 hotif=WinActive("ahk_exe notepad.exe")。它影响热键入口,不会自动成为鼠标手势的窗口限制。
启动时执行
命令属性 dog=1 表示每次启动执行一次。dog=-1 表示仅使用 boot 参数启动时执行一次。
全局配置也能列出启动命令:
ini
[dog]
my_service=1
[boot]
my_initialization=1[dog] 每次启动都执行;[boot] 在 boot 启动时额外执行。相同命令在多个位置重复配置会分别执行,不会自动去重。
定时任务
在已经验证过的命令上增加:
ini
task=em:15表示按内部分钟周期每 15 分钟调度。es:N、em:N、eh:N 分别是秒、分、小时周期,N 必须大于零。它们按内部计时边界对齐,第一次不保证刚好在启动后 N 个单位。
rs:N、rm:N、rh:N 是从本次任务启动计时的单次调度;h:930 表示本地时间 09:30。更复杂的组合用 | 分隔,先从单个表达式验证。程序退出后不继续计时,也不承诺补执行休眠期间错过的任务。
常驻服务
完整 AHK 脚本可以保留函数、热键和接收端,为其他命令提供服务。使用 dog 加载它后,不能把“已经启动”当成“初始化一定完成”。需要时按接口约定确认就绪。
服务使用的后台进程是否随主程序退出,取决于 type 和 Job 关系。详见 执行模式。