下载安装完以后会自带详细的英文版文档说明,不过官网上有
亲民的中文版文档
~
AHK脚本的后缀名为
.ahk
,比如
Hello.ahk
。打开创建的脚本文件编写代码即可。对于编写脚本语言,合适的编辑器不可少,这里我找到以下这些:
SciTE4AutoHotkey
Notepad++(在语言中选择Autolt可以高亮语法)
当然在 VScode 里肯定也少不了对应的插件
动态变量引用
或
动态函数调用
之外, 不应在其他任何地方使用百分号.
和PHP一样,AHK有很多的变量可以方便的获取很多信息,比如时间日期、脚本自身的属性。过多不贴
Send键可以做很多事,比如发送一些按键到一个程序中,来模拟打字或按键操作。主要有这四种方法
原始模式
使用
SendRaw
或者
{raw}
。如
SendRaw, ^g
发送的就是
^g
。
文本模式
用
{}
包含需要发送的内容,防止
^+!#{}
等热键的触发,类似于 __原始模式__。
普通模式
可发送按键,
^+!#{}
具有特殊含义。如发送
Alt
键可使用
Send !
或者
Send {Alt}
。符号表见 __0x02__。
盲从模式
不知道咋用(怂)。
常用的
Send
普通模式下的命令参数
{Browser_Back}
按下浏览器的”后退”按钮
{Browser_Forward}
按下浏览器的”前进”按钮
{Browser_Refresh}
按下浏览器的”刷新”按钮
{Browser_Stop}
按下浏览器的”停止”按钮
{Browser_Search}
按下浏览器的”搜索”按钮
{Browser_Favorites}
按下浏览器的”收藏”按钮
{Browser_Home}
启动浏览器并打开主页
{Volume_Mute}
主音量静音/取消静音. 通常相当于 SoundSet, +1, , mute.
{Volume_Down}
减小主音量. 通常相当于 SoundSet -5.
{Volume_Up}
增加主音量. 通常相当于 SoundSet +5.
{Media_Next}
在媒体播放器中播放下一曲目
{Media_Prev}
在媒体播放器中播放前一曲目
{Media_Stop}
停止媒体播放器
{Media_Play_Pause}
播放/暂停媒体播放器
{Launch_Mail}
启动电子邮件程序
{Launch_Media}
启动媒体播放器
{Launch_App1}
启动用户程序 1
{Launch_App2}
启动用户程序 2
{PrintScreen}
Print Screen
{CtrlBreak}
Ctrl+break
{Pause}
Pause
{Click}
根据所处的窗口以及活动的情况,执行不同的操作。
#IfWinActive
#IfWinExist
#IfWinNotActive
#IfWinNotExist
基本格式为
Win(Windows 徽标键)
|
Shift
|
表示使用钩子创建这个热键,这样避免了循环激发。如果使用
a::a
将会无穷递归!
|
激发热键时, 不会屏蔽(被操作系统隐藏) 热键中按键原有的功能
|
用于连接两个按键,合并成一个自定义热键
|
Space
|
CapsLock
|
大小写锁定键
|
Enter (或 Return)
|
Escape (或 Esc)
|
Numpad0等
|
NumLock关闭下数字小键盘
|
NumpadIns等
|
NumLock打开下的数字小键盘
|
Backspace (或 BS)
|
Delete(或 Del)
|
Home键
|
向上翻页键
|
向下翻页键
|
向上方向键
|
向下方向键
|
向左方向键
|
Right
|
向右方向键
|
LButton
|
RButton
|
MButton
|
鼠标中键或滚轮
|
WheelDown
|
向下转动鼠标滚轮
|
WheelUp
|
向上转动鼠标滚轮
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#IfWinActive WinTitle, WinText
#IfWinActive, ahk_class Notepad ^a::MsgBox 你在记事本中按下了 Ctrl-A . 而在其他窗口中按下 Ctrl-A 将原样发送. #c::MsgBox 你在记事本中按下了 Win-C 组合键.
#IfWinActive #c::MsgBox 你在非记事本程序中按下了 Win-C .
#If MouseIsOver("ahk_class Shell_TrayWnd")
WheelUp::Send {Volume_Up} WheelDown::Send {Volume_Down}
|
有时候会需要多个热键对应一种功能,这个时候可以用过个热键叠放来处理
1 2 3 4
|
^Numpad0:: ^Numpad1:: MsgBox Ctrl + Numpad0, Ctrl+Numpad1 can do the same thing. Return
|
更多的热键参考:
热键(鼠标, 操纵杆和键盘快捷键)
AutoHotkey快餐店
收录了其他优秀博客链接的
AutoHotkey 学习指南
AHK实现了重复过程的简化,也能用少量的按键实现复杂的操作,下面是我想到的部分功能
快速打开某些常用网站 baidu,google等
快速打开常用应用
QQ的表情包限制太多,比如大小,尺寸……那么将表情包保存到本地,然后使用热键 +
__send__
表情包:D,斗图更方便。
听说不少游戏需要同时按多个键来放大招……AHK岂不是开挂般存在。
不知道如此强大的AHK,被漏洞利用了会发生什么大新闻
如果你有啥想法,可以在评论区留言哦 (o゚v゚)ノ