AutoHotkey 使用总结
1. 下载
官网下载地址:https://www.autohotkey.com/
点击下载最新版本
得到 exe 文件
2. 安装
双击 exe 文件进行安装,默认安装路径,点击 Install
安装完成
3. 使用
官方文档地址:Quick Reference | AutoHotkey v2
3.1 创建一个脚本 .ahk
- 右键点桌面空白处.
- 点击 "新建" 菜单.
- 点击里面的 "AutoHotkey Script" 新建一个脚本.
- 给脚本命名. 备注: 文件名必须带 .ahk 后缀, 例如 MyScript.ahk
- 找到刚刚新建的脚本并右键点击它.
- 点击 "Edit Script".
- 编辑脚本的窗口, 也许是记事本. 或者自定义的系统默认的编辑器
3.2 简单的示例
在上面创建好的脚本里写入:
^j::
Send, My First Script
Return
- 第一行:
^j::
是热键.^
代表Ctrl
,j
是字母J
. 任何在::
左边的字符表示需要按下的热键. - 第二行:
Send, My First Script
表示如何发送按键. Send 是命令, 任何在逗号(,) 之后的内容将会被键入. - 第三行:
Return
. 停止代码继续往下. 用于分隔多个命令
保存文件,双击运行脚本,如下:
当我们按下 Ctrl + J 时,会自动发送 My First Script,我们可以用它来进行更多的操作
4. 热键
热键有时也称为快捷键, 因为它们能简便地触发动作(例如运行程序或键盘宏)
热键修饰符,详见官网文档:https://wyagd001.github.io/zh-cn/docs/Hotkeys.htm
要在热键中使用多个修饰键, 那么需要把它们连续地列出来(顺序无关紧要),如:
^!s::
Send Sincerely,{enter}John Smith ; 此行发送键击到活动(最前面的) 窗口.
Return
上面使用 ^!s
来表示 Ctrl+Alt+S
5. 按键列表
按键列表,详见官网文档:https://wyagd001.github.io/zh-cn/docs/KeyList.htm
6. 重映射按键
内置重映射功能的语法为 OriginKey::DestinationKey. 如只包含下面这行内容的脚本会将 A 重映射成 B:
a::b
上面的例子没有改变 B 自身的功能. B 会继续发送 "b" 的键击,除非把它重映射成其他功能:
a::b
b::a
6.1 自定义组合键
通过在两个按键(不包括操纵杆按钮) 间使用 "&" 可以定义定制的组合键。Return 用来结束此热键. 如果热键只需要执行单行语句,那么此行可以直接放在双冒号的右边. 换句话说,Return 可以省略
Numpad0 & Numpad1::MsgBox You pressed Numpad1 while holding down Numpad0.
Numpad0 & Numpad2::Run Notepad
在按住 Numpad0 接着按下第二个按键时会触发此热键
6.2 发送按键 Send
发送(输入) 一些按键到一个程序中. 可以使用 Send 命令. 该命令表示发送按键,模拟打字或按键操作.
对于特殊按键需要加上花括号 {}
来对其进行转义,如 {!}
,它将告诉 AutoHotkey {!}
表示 "感叹号",而不是要 "按下 Alt",如果不在特殊按键列表中, 没必要加花括号.
Send, This text has been typed{!}
// 如果 Enter 没有加上 {} 的话.. AHK 将会输出 "Enter"
Send, Multiple Enter lines have Enter been sent. ; 错误
Send, Multiple {Enter} lines have{Enter}been sent. ; 正确
想要表示按住或松开某个按键, 可以将这个键用花括号围起来, 同时加上单词 UP 或 DOWN. 例如:
// 下面这个例子表示按下一个键的时候再按下另一个键(或多个键).
Send, ^s ; 都表示发送 CTRL+s 键击
Send, {ctrl down}s{ctrl up} ; 都表示发送 CTRL+s 键击
Send, {ctrl down}c{ctrl up}
Send, {b down}{b up}
Send, {Tab down}{Tab up}
Send, {Up down} ; 按下向上键.
Sleep, 1000 ; 保持 1 秒.
Send, {Up up} ; 然后松开向上键.
6.3 自定义组合键使用
使用 RAlt & a::Send {Left}
,相当于 * Alt+A,即 Shift+Alt+A 或 Ctrl+Alt+A 都有 Alt+A 的效果,用 >!a::Send {Left}
则只有当 Alt+A 才有效果
;RAlt & a::Send {Left}
>!a::Send {Left}
Return
;RAlt & d::Send {Right}
>!d::Send {Right}
Return
;RAlt & w::Send {Up}
>!w::Send {Up}
Return
;RAlt & s::Send {Down}
>!s::Send {Down}
Return
;LAlt & h::Send {Home}
<!h::Send {Home}
Return
;LAlt & l::Send {End}
<!l::Send {End}
Return
按下 Alt+H,Send 发送为 Home
本文只讲到了重映射按键相关知识,更多操作可自行查看官网文档