惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
S
SegmentFault 最新的问题
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Martin Fowler
Martin Fowler
雷峰网
雷峰网
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
「新人报到」一篇文章,让你用懂AutoHotKey - 少数派
2025-08-07 · via 少数派

 一、脚本基础

  • 文件格式:脚本以 .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 - Notepad
Sleep, 时间(毫秒)暂停执行Sleep, 1000(暂停 1 秒)
ExitApp退出当前脚本-
没有啦