二、中文帮助
从中文论坛组织帮助的翻译开始,历经坎坷曲折并一度停滞至中文帮助完成,期间离不开许多人的默默支持和付出,这里列出参与帮助翻译的人员名单(提取自论坛翻译版,可能有遗漏,这里按字母顺序):
- amnesiac
- baggio1987
- BLooM.2
- bu45gande
- handt
- helfee
- hong
- hsudatalks
- Kookee
- lastmore
- lwjiee
- okey3m
- tcgbp
- wanggang999
- wz520
- Xiangee
- xiaohui
- yugi
- 单菜子
- 第八单元
- 甲壳虫
- 惊幻
- 天堂之门
- 游否
特别感谢:
- yonken,翻译了早期部分帮助。
目前,中文帮助的翻译记忆及全套工具已转给 RobertL,后续更新由他组织,有热情更新中文帮助或翻译 V2 帮助的朋友请与其联系或加入 AHKCN@github 直接参与翻译。
当前 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)应该都能运行这些代码。
为什么选择ahkscript.org? (现在为autohotkey.com)AHKScript.org是一个新社区,由活跃的AutoHotkey开发人员以及其他爱好者组成。由于autohotkey.com域不再受开发人员控制,因此创建了这个较新的域。鼓励新用户迁移并参与此新站点。但是,这两个域现已重新统一。