热键、任务与服务
Diatom/用户手册/热键、任务与服务

热键、定时任务与常驻服务

给现有命令分配热键

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 关系。详见 执行模式。

用户手册

正在读取手册…