一、脚本基础文件格式:脚本以 .ahk 为后缀,本质是文本文件,可直接用记事本编辑,双击即可运行(需安装 AutoHotkey 环境)。注释:以 ; 开头,单行注释。示例:; 这是一条注释,不会被执行二、变量定义与赋值:无需声明,直接使用。普通赋值(文本或数字):变量名 = 值示例:name = AutoHotkey ; 文本变量
age = 10 ; 数字变量表达式赋值(支持运算、函数调用):变量名 := 表达式示例:sum := 2 + 3 ; sum 等于 5
len := StrLen("test") ; len 等于 4(调用内置函数)变量名规则:由字母、数字、下划线组成,区分大小写(默认不严格,但建议规范使用)。三、核心:热键(Hotkey)绑定按键/组合键到操作,格式:按键组合::执行命令。
修饰符(组合键基础):
符号含义示例^Ctrl 键^s = Ctrl+S!Alt 键!a = Alt+A+Shift 键+F1 = Shift+F1#Win 键#d = Win+D示例:
^!s:: ; 绑定 Ctrl+Alt+S
MsgBox, 按下了 Ctrl+Alt+S ; 弹出消息框
return ; 结束热键逻辑(可选,复杂逻辑建议加)
F1::Run, notepad.exe ; 按 F1 打开记事本四、热字符串(Hotstring)自动替换文本(输入缩写触发),格式:::缩写::替换内容。
基础示例:::btw::by the way ; 输入 btw 后按空格/回车,替换为 by the way
::ahk::AutoHotkey ; 输入 ahk 触发替换常用选项(前缀修饰)::o::仅替换一次(不自动触发后续)示例::o:hi::Hello!:c::大小写敏感示例::c:Ahk::AutoHotkey(仅匹配 Ahk)五、Send 命令(发送按键/文本)模拟键盘输入,基础格式:Send 内容。
发送文本:Send, Hello World ; 输入 Hello World发送特殊键:用 {} 包裹按键Send, {Enter} ; 发送回车键
Send, {Tab} ; 发送 Tab 键
Send, {Backspace 3} ; 连续按 3 次退格键
Send, ^s ; 发送 Ctrl+S(保存快捷键)高效变体:SendInput(速度更快,推荐优先使用)SendInput, This is faster ; 更高效的输入六、流程控制1. 条件判断(if-else)格式:
if (条件) {
; 条件为真时执行
} else if (另一个条件) {
; 另一条件为真时执行
} else {
; 所有条件为假时执行
}示例:
num = 5
if (num > 3) {
MsgBox, 数字大于3
} else {
MsgBox, 数字小于等于3
}2. 循环(Loop/while)**Loop**:重复执行指定次数或无限循环
Loop 3 { ; 执行 3 次
MsgBox, 第 %A_Index% 次循环 ; A_Index 是内置变量,记录当前循环次数
}
Loop { ; 无限循环(需配合 break 退出)
if (条件)
break ; 退出循环
}**while**:当条件为真时循环
count = 0
while (count < 3) {
count := count + 1
MsgBox, 计数:%count%
}七、函数1. 内置函数AHK 自带大量实用函数:
MsgBox, 标题, 内容:弹出消息框(简单用法可省略标题)Run, 程序路径:启动程序(如 Run, notepad.exe 打开记事本)StrLen(文本):返回文本长度(如 StrLen("test") 结果为 4)2. 自定义函数格式:
函数名(参数1, 参数2, ...) {
; 函数逻辑
return 返回值 ; 可选
}示例:
Add(a, b) {
return a + b
}
; 调用函数
result := Add(2, 3)
MsgBox, 结果:%result% ; 显示 5
八、其他常用命令命令格式功能说明示例WinActivate, 窗口标题激活指定窗口WinActivate, 文档 - 记事本WinClose, 窗口标题关闭指定窗口WinClose, Untitled - NotepadSleep, 时间(毫秒)暂停执行Sleep, 1000(暂停 1 秒)ExitApp退出当前脚本-没有啦