AutoHotkey 中文化项目 Wiki

当前 AutoHotkey 存在有众多分支和版本,在学习之前需要首先选择一个版本开始学习,这取决于您的环境和希望实现的目的。一般情况下,对于中文用户建议选择 AutoHotkey_L 分支的 Unicode 构建。如果有特殊情况,则根据后面的说明选择适合的版本。这里仅简单介绍了 AutoHotkey 历史及当前的主要分支,对于适用于特殊情况的一些分支,如 IronAHK(跨平台)、AutoHotkey.dll(嵌入其他语言)等,请参阅附录。

当前版本

AutoHotkey_L(推荐)

此分支由 Lexikos (Steve Gray) 在原来的 AutoHotkey 代码基础上增加了一些社区用户开发的功能后发展而来,为 AutoHotkey 目前的主分支。AutoHotkey_L 在经典版的基础上增加了许多功能,其中部分重要的功能如下:

原生的 64 位、COM 和 Unicode 支持;

对象(可扩展的关联数组);

交互式调试功能,受兼容的调试客户端支持;

新的可移植 DllCall 参数类型;

面向对象的文件处理;

#If 表达式 - 与 #IfWinActive 类似,但支持任何类型的表达式;

内置支持菜单图标,同时改进图标支持。

提示:想了解在 AutoHotkey_L 增加的所有功能及变更,请参阅帮助中的兼容性页面。

目前这个分支提供了三种构建:Unicode x86(适用于 32 位和 64 位系统)、Unicode x64(仅适用于 64 位系统)和 ANSI x86(对一些旧脚本具有更好的兼容性)。如果您不清楚该如何选择,建议选择 Unicode x86。

AutoHotkey v2

AutoHotkey v2 由 Lexikos 在 Chris 对 AutoHotkey 未来的计划和 AutoHotkey_L 代码上进行开发,目前仍在测试过程中,AutoHotkey v2 只有 Unicode 构建。它清理了语法,因而产生了破坏兼容性的许多变化。尽管目前含有一些缺陷,不过现在已经可以使用。由于许多细节仍在调整中、功能和语法尚未定型,文档也严重过时,所以目前只适合开发者用于测试的目的。对于大多数用户及常规使用,目前还不推荐安装这个版本。使用这个版本您可能需要在每个新版发布时修改自己的代码,同时也无法使用论坛上大量的脚本。

下载 论坛讨论页面

AutoHotkey_H

AutoHotkey_H 是由 HotkeyIt 维护的 AutoHotkey_L 的自定义构建。

它实现了多线程,还能用来运行动态 AutoHotkey 代码、在 #Includes 中使用通配符或动态 #Includes、退出所有线程等功能。要了解它在 AutoHotkey_L 基础上增加的功能,请参阅 AutoHotkey_H 文件包中的帮助。

同时还有基于 AutoHotkey v2 的 AutoHotkey_H 版本。

如果您需要那些附加的高级功能,则可以使用这个版本。除了这种情况,您都应该使用 AutoHotkey_L。

IronAHK

论坛讨论页面

这个分支由 polyethene 和其他贡献者使用 C# 为 .NET 和 Mono 而完全重写以实现 AutoHotkey 的跨平台的分支。使用它您能把脚本编译为平常的 .NET 编译语言,同时增加了像数组、对象和 Unicode 的新功能。需要 .NET 框架或 Mono 才能安装。

将来会如何?IronAHK 目标尚未完成,还处于 Alpha 测试阶段。并且不幸的是,目前开发似乎处于暂停状态。还有许多事情需要做。

尽管这是个有趣的项目,不过当前不建议初学者安装使用。

AutoHotkey Mobile

论坛讨论页面

用于 Pocket PC、WinCE 和 Smartphone 的 AutoHotkey 分支。

历史版本

AutoHotkey 经典版

这个分支被 Chris Mallett 称之为“AutoHotkey Basic”,在官方论坛中也有一些人称其为“Classic”或“Vanilla”。仔细考虑后,觉得译为“经典版”较为适合它的内涵。

它是由 Chris Mallett 开发的 AutoHotkey 最初版本,在 2009 年更新到 1.0.48.05 版本后停止开发。作者在 2010 年宣布 AutoHotkey_L 为它的后续版本。

注:由于这个版本不支持 Unicode、64位系统及其他重要的特性,同时在遇到 bug 后也无法得到修复以及在论坛上提问较不容易得到支持,所以目前主要是少数老用户及一些旧的脚本在使用。

AutoHotkey.dll

论坛讨论页面

AutoHotkey.dll 是 AutoHotkey 的动态链接库版本,已更新并包含于 AutoHotkey_H 中。通过它能在 AutoHotkey 中实现多线程或把 AutoHotkey 解释器嵌入其他脚本或语言,这是由于它含有 DLL 接口和 COM 接口,所以可以在脚本或编程语言中执行 AutoHotkey 代码,包括 AutoHotkey_L、AutoHotkey_H、AutoHotkey v2、VBScript, Javascript 等。

AutoHotkeyU

AutoHotkeyU 是由 jackieku 开发的 AutoHotkey_L 修订版本 41,已合并到 AutoHotkey_L。不建议安装此版本。

AutoHotkey64

AutoHotkey64 是由 fincs 开发的 AutoHotkey_L 的 64 位版本,已合并到 AutoHotkey_L。不建议安装此版本,AutoHotkey_L 已经含有 64 位支持。

结论

现在您需要选择一个分支了,就我个人而言,我推荐 AutoHotkey_L Unicode 构建。

本书中的例子基于 AutoHotkey 1.1.07.03 Unicode 构建,一般而言,AutoHotkey_L 的此版本或更高版本,以及其他继承自 AutoHotkey_L 的版本(AutoHotkey_H, AutoHotkey v2 and AutoHotkey_H v2)应该都能运行这些代码。

如何正确安装手机支架?详细步骤与使用心得分享
小米AI眼镜评测:解放双手的全能AI助手