AutoHotkey 程序本身不做任何事情; 它需要一个脚本来告诉它该做什么. 脚本只是一个简单的以 .ahk
作为扩展名的文本文件, 其中包含了程序的指令, 像配置文件, 但功能更强大. 一个脚本可以执行一个动作然后退出, 但大多数脚本定义了一些热键, 当热键按下时, 热键后面跟着的一个或多个动作将会执行.
#z::Run https://autohotkey.com ; Win+Z ^!n:: ; Ctrl+Alt+N if WinExist("Untitled - Notepad") WinActivate else Run Notepad return
提示: 如果您的浏览器支持, 当你将鼠标悬停在代码块上面时, 您可以通过点击代码块右上角的按钮来下载任何代码块(如上面的代码块) 作为脚本文件.
有几种常见的方法来创建脚本文件:
.ahk
文件扩展名保存文件. 在某些系统上, 您可能需要将文件名用引号括起来, 以确保编辑器不会添加其他扩展名(例如 .txt).如果文件包含非 ASCII 字符, 请确保将文件保存为带有 BOM(字节顺序标记) 的 UTF-8. 有关详情, 请参阅常见问题(FAQ).
.ahk
扩展名可见时, 请不要删掉它).有关如何编写脚本的详细信息, 请参阅脚本语言.
要打开脚本进行编辑, 请右键单击脚本文件, 然后选择 Edit Script(编辑脚本). 如果脚本已经在运行, 您可以使用 Edit(编辑) 命令或右键单击脚本的托盘图标并选择 Edit This Script(编辑此脚本). 默认情况下, 这将打开记事本, 但可以通过写入注册表来更换编辑器, 如例子所示. 当然, 您可以先打开文本编辑器, 然后像打开其他任何文本文件一样打开脚本.
编辑脚本保存后, 您必须运行或 reload(重新加载) 脚本以使更改生效. 正在运行的脚本通常可以通过其托盘菜单重新加载.
安装了 AutoHotkey 后, 有几种运行脚本的方法:
大多数脚本只有在运行时才会起作用. 使用托盘菜单或 ExitApp 命令退出脚本. 当 Windows 关闭时, 脚本也被迫退出. 要将脚本配置为在用户登录后自动启动, 最简单的方法是在 Startup(启动) 文件夹中放置脚本文件的快捷方式.
脚本也可以编译; 即与 AutoHotkey 二进制文件结合在一起, 形成一个独立的可执行(.exe) 文件.
默认情况下, 每个脚本都将自己的图标添加到任务栏通知区域(通常称为托盘).
托盘图标通常如下所示(但脚本 paused(暂停) 或 suspended(挂起) 时颜色或字母会更改):
右键单击托盘图标以显示托盘菜单, 默认情况下具有以下选项:
默认情况下, 双击托盘图标显示脚本的主窗口.
Menu 命令可以用来自定义托盘图标和菜单.
#NoTrayIcon 指令可用于隐藏托盘图标.
脚本的主窗口通常是隐藏的, 但可以通过托盘图标或下面列出的命令之一显示, 以获得对调试脚本有用的信息. View 菜单下的项目控制主窗口显示的内容:
已知问题: 当脚本显示 MsgBox 或其他对话框时, 菜单项下的键盘快捷键不起作用.
内置变量 A_ScriptHwnd 包含脚本主窗口的唯一 ID(HWND).
#SingleInstance 和 Reload 机制使用此窗口的标题来标识同一脚本的其他实例. 更改标题可防止脚本被这样识别. 默认标题等同于表达式 A_ScriptFullPath (A_IsCompiled ? "" : " - AutoHotkey v" A_AhkVersion)
.
用 WinClose(甚至从另一个脚本或其他程序) 关闭这个窗口会导致脚本退出, 但大多数其他方法只是隐藏窗口并保持脚本运行.
有关命令行用法, 请参阅向脚本传递命令行参数, 其中包括影响程序行为的命令行开关列表.
运行任何的 .ahk 脚本所需要的只是 AutoHotkey.exe 文件(译者注: 当脚本引用了其他 ahk 文件或库文件时, 这些引用的文件也是需要的, 否则程序会报错).
[AHK_L 51+]: 重命名 AutoHotkey.exe 会同时改变它默认运行的脚本, 这是在没有安装 AutoHotkey 的计算机上运行脚本的一种可选方法. 例如, 在没有指定文件名时, 执行 MyScript.exe 会自动运行 MyScript.ahk, 但也能运行其他脚本.
要静默安装 AutoHotkey 到默认目录(这与手动安装时显示的目录相同), 需要向安装程序传递 /S 参数. 例如:
AutoHotkey110800_Install.exe /S
使用参数 /D 可以指定默认目录外的其他目录作为安装目录(如果没有使用 /S, 那么这样可以改变在安装程序中显示的默认目录). 例如:
AutoHotkey110800_Install.exe /S /D=C:\Program Files\AutoHotkey
Version(版本): 如果之前已经安装了 AutoHotkey, 则安装程序会自动检测 AutoHotkey.exe 的构建并设置为默认构建. 否则, 根据操作系统是否为 64 位设置默认构建为 Unicode 32 位或 Unicode 64 位. 要覆盖 AutoHotkey.exe 的默认构建设置, 请使用下列的其中一个开关:
/A32
或 /ANSI
: ANSI 32 位./U64
或 /x64
: Unicode 64 位(仅在 64 位系统中有效)./U32
: Unicode 32 位.例如, 下面的命令会静默安装并设置 ANSI 32 位为默认的构建:
AutoHotkey110800_Install.exe /S /A32
Uninstall(卸载): 要静默卸载 AutoHotkey, 需要向 Installer.ahk 传递 /Uninstall
参数. 例如:
"C:\Program Files\AutoHotkey\AutoHotkey.exe" "C:\Program Files\AutoHotkey\Installer.ahk" /Uninstall
对于 1.1.08.00 以前的 AutoHotkey 版本, 请使用 uninst.exe /S
. 例如:
"C:\Program Files\AutoHotkey\uninst.exe" /S
注意: Installer.ahk 需要管理员权限才能正常运行.
Extract(提取解压): 以后版本的安装包在右下角包含了用来提取安装文件而不进行安装的链接. 如果存在这个功能, 则可以在命令行中使用 /E
开关来调用它. 例如:
AutoHotkey110903_Install.exe /D=F:\AutoHotkey /E
Reload(重启脚本) [v1.1.19.02+]: 在静默安装/卸载模式中, 运行中的脚本可能会自动关闭. 通过传递 /R
参数, 可自动用之前运行时对应的 EXE 版本重启脚本, 无需其他命令行参数. 安装器将尝试通过 资源管理器(Explorer) 启动脚本, 所以当 用户账户控制(UAC) 开启的情况下, 脚本不会以管理员权限运行.
任务栏按钮 [v1.1.08+]: 在 Windows 7 及更高版本, 默认情况下, 任务栏的多个按钮将会组合为一个或一组. 而 分隔任务栏按钮 选项可关闭这个特性, 其原理是通过注册每一个 AutoHotkey 可执行文件为宿主程序(IsHostApp).
[v1.1.24.02+]: 从命令行安装时, 设置 /IsHostApp
或 /IsHostApp=1
开启这个选项, 而设置 /IsHostApp=0
则是关闭.
安装器界面上有个 "增加 'Run with UI Access'(以 UI Access 运行) 到上下文菜单" 选项. 这个上下文菜单选项提供解决通常会遇到的 UAC 的相关问题, 它可让脚本自动管理程序权限, 且无需以管理员权限运行. 安装器实现该功能的方法是:
对应安装之前就存在的 UIA 文件, 无论是否开启了 UI Access 选项, 安装器都会自动升级它们.
对于命令行安装方式, 指定 /uiAccess
或 /uiAccess=1
来开启选项, 设为 /uiAccess=0
则是关闭. 如果系统的 UAC(用户账户控制) 为开启的且 UI Access 上下文选项在安装之前已经注册过时, 安装器将默认开启这个选项.
脚本可以以 UI access 方式运行其他的脚本, 只需要简单的 Run 对应的 UIA.exe 文件加上命令行参数即可.
已知限制:
ComObjActive("Word.Application")
将会失败, 因为 Word 并不是一个 UI Access 标记的程序.#InstallMouseHook
指令), 鼠标热键会在由 UIA 脚本创建的窗口中失效, 即使热键为 "UIA 脚本" 自身定义的. 可行的解决办法是: 确保 "UIA 脚本" 最后一个加载.更多详情, 请参考 Enable interaction with administrative programs 论坛存档贴