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

推荐订阅源

博客园_首页
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
Y
Y Combinator Blog
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
S
SegmentFault 最新的问题
IT之家
IT之家
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
WordPress大学
WordPress大学
博客园 - Franky
L
LangChain Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - 叶小钗
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
雷峰网
雷峰网
腾讯CDC
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Help Net Security
Help Net Security
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
博客园 - 聂微东
A
Arctic Wolf
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评 播客自动化更新分发教程 《围城》人物分析:知识分子的时代困局 NotebookLM音频概览支持中文 《暗黑破坏神3》国服回归 《暗黑破坏神3》国服赛季开荒指南 《网络数据安全管理条例》正式发布实施 契约之下的自由:社会契约论 如何去除文章的AI味道 电影《好东西》影评 我的价值观:义务论和效益论 《魔兽世界》正式服PVP教程 电影《哪吒2》影评 中医理论不是科学理论 DeepSeek与主流AI模型对比评测 TikTok停止在美国服务 我的三观(世界观、价值观、人生观) 《无限暖暖》游戏评测 2024年财经年度总结 月光博客2024年推荐阅读文章 IMDb公布2024年热门电影和电视剧 2024年十大流行语发布 谷歌发布2024年度搜索排行榜 中国2024社会热点大事记 Google Adsense税务居住地证明申请教程 极狐GitLab回应前员工实名举报公司高管:恶意诽谤造谣 升级FTTR千兆光纤带宽 字节跳动起诉前实习生索赔800万 看完历届奥斯卡最佳影片后的体验 李子柒已经正式改名并恢复更新 苹果历年新春短片 “姜萍事件”调查结果公布 胡锡进社交平台恢复更新 上海女子沙白自杀的伦理道德分析 京东与杨笠一起玩火 字节跳动大模型训练被实习生攻击,涉事者已被辞退 《加勒比海盗》系列电影 《夺宝奇兵》系列电影时间线 《侏罗纪公园》系列电影时间线 《终结者》系列电影时间线 华为禁止用户从外部手动安装安卓应用(APK文件) 《炉石传说》国服回归一片混乱 官媒辟谣苹果手机被远程引爆 小米回应摄像头里出现陌生男子说话 环球人物:民族大义不是流量密码,盲目排外没有土壤 《异形》系列电影时间线 看完IMDb250后的体验 暴雪《炉石传说》国服开启预约 网易DD参与代打《魔兽世界》事件的深入分析 福建男子四年前“翻墙”浏览境外网站被行政处罚 《魔兽世界》正式服开服两周游戏体验 暴雪游戏足迹查询:查看暴雪游戏的数据 用AI分析你的推特社交网络数据 胡锡进停更三个月 国家网络身份认证公共服务管理办法向社会公开征求意见 苹果将部分产能转回中国 Windows全球大范围蓝屏 电影《V字仇杀队》影评 微软中国员工禁用安卓手机:只能用iPhone 《魔兽世界》怀旧服“巫妖王之怒”游戏体验 百度旗下萝卜快跑已在多个城市开放载人测试 我为什么不喜欢华为这家企业 胡锡进:强烈谴责苏州袭击日本人的凶手 20美元在美国超市的购买力 华为紧急辟谣“是国内最大的牛肉进口商” 苹果公司公布2024年Apple设计大奖获奖名单 自动生成电影剧本:人工智能技术的崭新里程碑 电影《芳华》人物分析 Steam账号被盗号的解决方法 中文互联网内容正在逐步消失 马斯克:推特域名已全部转移到X
AutoHotkey新手教程
月光 · 2021-05-22 · via 月光博客

AutoHotkey是一个基于Windows平台的开放源代码的热键脚本语言,这个脚本语言可以实现键盘和鼠标的自动按键和自动点击功能,通过发送键盘或鼠标的键击动作命令来实现几乎所有操作的自动化,可以简化很多重复性操作工作。

实现一个AHK脚本非常简单,先下载安装AutoHotkey,然后编辑一个文本文件,里面是相关脚本,将文件后缀修改为.ahk结尾,双击此文件即可运行,在任务栏通知区域会出现新的图标,要退出此脚本, 则在任务栏通知区域的绿色 "H" 图标上点击右键即可。

注释

在行首使用分号可以注释当前行脚本。例如:

; 这整行是注释.

也可以在命令的末尾添加注释,此时分号左侧必须至少有一个空格或tab。例如:

Run Notepad  ; 这是和命令在同一行的注释。

此外,可以使用 /* 和 */ 符号注释整块代码,但仅当它们出现在行首时才有效。

标签

定义标签使用一个冒号结尾,语句块(代码段)以 return 结束, 使用 goto, gosub等调用。

myLabel:
;你的代码
return

函数

函数类似于子程序 (Gosub),不过它可以从调用者那里接受参数 (输入),同时,函数还可以返回值给其调用者。

函数名(参数1,参数2, 参数3="默认值", 参数4:="这样设置默认值也一样"){
 ;你的代码
 return "返回值";字符串需要引号
}

默认情况下,在函数中创建或访问的所有变量都是局部的。每个局部变量的内容只在它所在的函数中可见。因此,一个局部变量可以和一个全局变量有相同的名称却有着不同的内容。最后,所有的局部变量在每次调用函数时都以空值开始。

函数代码块以 { 开始并以 } 结束。

热键

热键有时也称为快捷键,能简便地触发动作,定义热键使用两个冒号结尾,以 return。

#n::
Run Notepad
return

在定义热键时可以使用下列修饰符:

符号 说明
# Win (Windows 徽标键).
! Alt键
^ Control键
+ Shift键
& 和符号可以用来组合任意两个按键或鼠标按钮, 让它们成为自定义热键. 
< 使用成对按键中左边的那个. 例如 <!a 相当于 !a, 只是使用左边的 Alt 键才可以触发.
> 使用成对按键中右边的那个.
*

通配符: 即使附加的修饰键被按住也能激发热键. 这常与重映射按键或按钮组合使用. 例如:

*#c::Run Calc.exe; Win+C、Shift+Win+C、Ctrl+Win+C 等都会触发此热键。
*ScrollLock::Run Notepad; 即使在按住其他修饰键时按下 ScrollLock 也会触发此热键。
~

激发热键时,不会屏蔽(被操作系统隐藏)热键中按键原有的功能。

$

通常只在脚本使用 Send 命令发送包含了热键自身的按键时才需要使用此符号, 此时可以避免触发它自己。

按键、鼠标按钮和操纵杆控制器的列表

鼠标  
LButton 鼠标左键
RButton 鼠标右键
MButton 鼠标中键或滚轮
高级  
XButton1 鼠标的第四个按钮。一般和 Browser_Back 执行相同功能。
XButton2 鼠标的第五个按钮。一般和 Browser_Forward 执行相同功能。
Wheel  
WheelDown 向下转动鼠标滚轮(向您的方向)。
WheelUp 向上转动鼠标滚轮(远离您的方向)。
键盘  
CapsLock 大小写锁定键
Space 空格键
Tab Tab 键
Enter (或 Return) 回车键
Escape (或 Esc) 退出键
Backspace (或 BS) 退格键
光标控制  
ScrollLock 滚动锁定键
Delete (或 Del) 删除键
Insert (或 Ins) 插入改写切换键
Home Home 键
End End 键
PgUp 向上翻页键
PgDn 向下翻页键
Up 向上方向键
Down 向下方向键
Left 向左方向键
Right 向右方向键
Numpad  
NumLock 开启
NumLock 关闭  
Numpad0
NumpadIns 0 / 插入改写切换键
Numpad1
NumpadEnd 1 / End 键
Numpad2
NumpadDown 2 / 向下方向键
Numpad3
NumpadPgDn 3 / 向下翻页键
Numpad4
NumpadLeft 4 / 向左方向键
Numpad5
NumpadClear 5 / 通常什么都不做
Numpad6
NumpadRight 6 / 向右方向键
Numpad7
NumpadHome 7 / Home 键
Numpad8
NumpadUp 8 / 向上方向键
Numpad9
NumpadPgUp 9 / 向上翻页键
NumpadDot
NumpadDel 十进制分隔符 / 删除键
NumpadDiv
NumpadDiv
NumpadMult
NumpadMult
NumpadAdd
NumpadAdd
NumpadSub
NumpadSub
NumpadEnter
NumpadEnter 回车键
功能  
F1 - F24 在大多数键盘顶部的 12 个或更多的功能键。
按键修饰符  
LWin 左边的 Windows 徽标键。对应的热键前缀为 <#
RWin 右边的 Windows 徽标键。对应的热键前缀为 >#
Control (或 Ctrl) Control 键。单独作为热键(Control::)时它在弹起时触发。对应的热键前缀为 ^
Alt Alt 键。单独作为热键(Alt::)时它在弹起时触发。对应的热键前缀为 !
Shift Shift 键。单独作为热键(Shift::)时它在弹起时触发。对应的热键前缀为 +
LControl(或 LCtrl) 左 Control 键。对应的热键前缀为 <^
RControl(或 RCtrl) 右 Control 键。对应的热键前缀为 >^
LShift 左 Shift 键。对应的热键前缀为 <+
RShift 右 Shift 键。对应的热键前缀为 >+
LAlt 左 Alt 键。对应的热键前缀为 <!
RAlt 右 Alt 键。对应的热键前缀为 >!
多媒体  
Browser_Back 后退
Browser_Forward 前进
Browser_Refresh 刷新
Browser_Stop 停止
Browser_Search 搜索
Browser_Favorites 收藏夹
Browser_Home 主页
Volume_Mute 静音
Volume_Down 调低音量
Volume_Up 增加音量
Media_Next 下一首
Media_Prev 上一首
Media_Stop 停止
Media_Play_Pause Play/Pause
Launch_Mail 打开默认的电子邮件程序
Launch_Media 打开默认的媒体播放器
Launch_App1 打开我的电脑
Launch_App2 打开计算器
特别  
AppsKey 菜单键。这是调用右键上下文菜单的按键。
PrintScreen 捕获屏幕
CtrlBreak  
暂停 暂停键
中断 中断键。由于此键和 Pause 含义相同,所以在热键中请使用 ^CtrlBreak 代替 ^Pause 或 ^Break
帮助 帮助键。此键可能在大多数键盘上不存在。它通常和 F1 不同.
Sleep 休眠键。注意在一些键盘上的 sleep 键可能不是休眠功能。

常用命令

SetTimer [, Label, Period|On|Off, Priority]

以指定的时间间隔自动并重复运行子程序。

标签

跳转的目标 标签 或 热键标签 的名称, 这样会执行 Label 下的命令, 直到遇到 Return 或 Exit

Period|On|Off

On: 以原来的 周期 重新启用之前禁用的计时器。如果计时器不存在,则进行创建 (使用默认的周期 250)。

Off: 禁用现有的计时器。

Priority

表示计时器的优先级。如果省略,则使用 0。

Sleep DelayInMilliseconds

在继续前等待指定的时间量。参数是要暂停的时间量 (单位为毫秒)。

Send Keys

发送模拟键击和鼠标点击到活动窗口。参数是要发送的按键序列。

Send Keys down

按住指定按键。

Send Keys up

释放指定按键。

Click

在鼠标光标的当前位置点击一次鼠标左键。

Click right

在鼠标光标的当前位置点击一次鼠标右键。

Click down

按下鼠标左键不放。

Click up

释放鼠标左键。

Click down right

按下鼠标右键不放。

Click up right

释放鼠标右键。

PixelGetColor, OutputVar, X, Y [, Alt|Slow|RGB]

获取指定的 x, y 坐标处像素的颜色。

Run, Target [, WorkingDir, Max|Min|Hide|UseErrorLevel, OutputVarPID]

运行外部程序。与 Run 不同,RunWait 会等待程序结束才继续往后执行。

Run Notepad
Run C:\My Documents\Address List.doc
Run C:\My Documents\My Shortcut.lnk
Run www.williamlong.info
Run mailto:[email protected]

参数是要运行的文档,URL,可执行文件 (.exe, .com, .bat, 等等),快捷方式 (.lnk) 或系统动词。

要让脚本等到程序或文档关闭后才继续执行,请使用 RunWait 代替 Run。在下面的例子中,一直到用户关闭记事本后 MsgBox 命令才会继续执行。

RunWait Notepad
MsgBox The user has finished (Notepad has been closed).

WinWaitActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]

等到指定的窗口处于活动状态。

Run, notepad.exe
WinWaitActive, Untitled - Notepad, , 2
if ErrorLevel
{
MsgBox, WinWait timed out.
return
}
else
WinMinimize; 最小化 WinWaitActive 找到的窗口.

WinWaitNotActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]

等到指定的窗口处于不活动状态。

AutoHotkey新手教程