【指南】選擇哪個分支?

作者:amnesiac 首發:官方論壇中文版

對于絕大多數用戶這個問題的答案都應該是 AutoHotkey_L,那么這個問題還是問題嗎?對于新人我還是有必要簡要介紹它們(這是他們的主要困惑之一),以便對這些名稱及它們的含義有個清晰的認識,同時明白自己選擇的原因(順便也了解些典故)。


圖 AutoHotkey 的歷史和當前分支一覽(來源

AutoHotkey_L(首選)

AutoHotkey_L 指主要由 Lexikos 在原 AutoHotkey Basic(見下文)源碼基礎上開發的分支,具體包括從1.0.48.05 L4 版本號 (更新記錄為 Revision 4,發布于 2008-07-18)至今的所有版本,更新記錄請參閱 AutoHotkey_L 更新記錄。有時會被籠統的稱為“AutoHotkey 1.1“(目前在下載頁面即是如此)。

功能的增強

它在 AutoHotkey Basic 基礎上增加或增強的主要功能(詳細說明請參閱 AutoHotkey_L 新特性):

  • 提供 Unicode、COM 和 64 位原生支持
  • 支持各種文本編碼
  • 對象(可擴展的聯合數組)
  • 交互式調試支持
  • 增強的錯誤處理
  • 面向對象文件 I/O

功能的增強是我們選擇的重要原因之一,在如今的 Windows 主流系統中不支持 Unicode 的腳本用處還有多大呢?尤其對于中文用戶。

主流的支持

功能的增強是其中一個方面,主流的支持則是另一個重要原因。與其他比較,AutoHotkey_L 是目前 AutoHotkey 社區用戶使用的主流分支:

  • 目前尚在更新,包括修復缺陷和完善功能
  • 社區中的函數和腳本幾乎都適用該分支
  • 遇到問題時能方便從社區或網絡獲得支持

所以,如果您在猶豫,那么選擇 AutoHotkey_L 吧。

構建的選擇

該分支中因編碼和平臺類型分成三種構建(build):

Unicode 32-bit - recommended for new scripts.
Unicode 64-bit - for increased performance on 64-bit systems.
ANSI 32-bit - better compatibility with some older scripts.

如下載頁面的說明所示,大多數用戶請選擇 Unicode 32-bit,但這個鏈接的目標文件僅有主程序(即一個 AutoHotkey.exe,適合偏愛綠色版的老用戶)。建議直接下載頁面開始處的安裝包(Installer),其中包含了這三種構建和后面的編譯器和離線幫助(英文的,中文幫助請在底部鏈接處下載)并在安裝時選擇 Unicode 32-bit 即可。

Unicode 64-bit 僅能運行于 64 位系統,至于比較此時的 32 位構建其性能有增強多少還沒看到有比較數據。
ANSI 32-bit 的兼容性主要指運行為 AutoHotkey Basic 編寫的腳本而言,新用戶無需考慮。

注:若未特別說明,以后本專欄中的代碼的測試版本均為 AutoHotkey_L Unicode 32-bit。一般而言,AutoHotkey_L 及其他基于 AutoHotkey_L 分支的版本(如 AutoHotkey_H)應該能正常運行這些代碼。

AutoHotkey v2(不推薦)

AutoHotkey v2 由 Lexikos 根據 Chris Mallett(AutoHotkey Basic 作者)對 AutoHotkey 未來的計劃基于 AutoHotkey_L 代碼開發,目前仍在測試過程中,AutoHotkey v2 只有 Unicode 構建(含 32 和 64 位)。目前在開發過程中的許多新特性都會合并到 AutoHotkey_L 中。

開發狀態:它正在調整語法(帶來不兼容的許多變化)和功能,包含了許多細節改進。由于許多細節仍在調整中、功能和語法尚未定型,文檔也嚴重過時,且使用這個版本后您可能需要在每個新版發布時修改自己的代碼,同時也無法直接執行論壇上大量的腳本。

對于普通用戶及常規用途:目前該分支語法和功能尚未定型,較 v1.1 的更新情況也未全部寫入日志,且相應的文檔過時,所以不推薦日常使用。

對于其他用戶:該分支將很可能是 AutoHotkey 第三代(盡管版本為 v2),雖然目前含有一些缺陷,不過已經可以使用,所以歡迎有經驗的老用戶和開發者下載測試。關于這個分支的語法、功能等的討論正在官網熱烈進行,如果希望了解目前狀態或反饋相關的建議、意見(作者也活躍其中):

使用 AutoHotkey(Basic 至 _L)那么長時間以來,您不是一直在抱怨這個吐嘈那個嗎,還等什么呢?與作者直接交流吧,也許正式版出來時其中某個功能就是您的提議呢。

AutoHotkey_H(不推薦)

AutoHotkey_H 是由 HotkeyIt 合并了原有 AutoHotkey.dll(介紹見下文)并在AutoHotkey_L(及 AutoHotkey v2)基礎上開發的增強分支。它沒有使用自己的版本號,一般與 AutoHotkey_L(及 AutoHotkey v2)并行開發,最近更新時間為 2013-08-11。

一般提到 AutoHotkey_H 時,實際上包含了 AutoHotkey.dll 和 AutoHotkey.exe (H 版本) 及相關文件。其中:

  • AutoHotkey.dll 最初由 tinku99 開發,已由 HotkeyIt 合并至 AutoHotkey_H,之后新增了簡化版本(AutoHotkeyMini.dll)。其他語言通過 DLL 接口或 COM 接口利用該文件可執行 AutoHotkey 代碼,而 AutoHotkey_L 也可通過它實現多線程。
  • AutoHotkey.exe(H 分支)是 HotkeyIt 在 AutoHotkey_L(及 AutoHotkey v2)基礎上主要增加線程和結構相關函數并增強了 DLL 調用功能的分支,詳細的新增功能及細節變化請參閱其幫助。
  • AutoHotkey v1(基于 AutoHotkey_L)可執行文件包含了 ANSI 和 Unicode 32 位版本及 Unicode 64 位版本。
  • AutoHotkey V2(基于 AutoHotkey v2)可執行文件包含了 Unicode 32 和 64 位版本。

它實現了多線程、支持動態運行 AutoHotkey 代碼、在 #Includes 中使用通配符或動態 #Includes、簡化了 DLL 尤其是 Windows API 的調用,適用于已經使用 AutoHotkey 較長時間的有經驗用 戶。其中的幫助僅說明了在 AutoHotkey_L 外有修改或增強部分的內容,所以需要與 AutoHotkey_L 幫助一起使用。 AutoHotkey_H 功能上有所增強,不過用戶群較?。赡軠y試不充分)、不易獲得支持,同時幫助文件比較粗糙(盡管有譯成中文的版本),更新較不穩定。因此,新用戶無需考慮。

這個分支的水很深,不過如果您有一定編程經驗,我覺得可以試試。

不活躍分支

用于 Windows/Linux/Macintosh 的 .NET/Mono 分支。

這個分支由 polyethene 和其他貢獻者使用 C# 為 .NET 和 Mono 而完全重寫以實現 AutoHotkey 的跨平臺的分支。使用它您能把腳本編譯為平常的 .NET 編譯語言,因此需要 .NET 框架或 Mono 才能安裝。IronAHK 目前尚處于 Alpha 測試階段,并且不幸的是,目前開發似乎暫停較長時間了。還有許多事情需要做。
盡管這是個很有前景的項目,不過當前不建議初學者安裝使用。

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

用于 Linux/Wine 的版本。

其他歷史分支

對于出現過的其他歷史版本,下面盡可能用一句話簡單介紹以供了解,不建議使用。

  • AutoHotkey Basic(經典版)

AutoHotkey Basic 包括從首個測試版本至 1.0.48.05(更新于 2009-09-25)的所有版本,更新記錄請參閱 AutoHotkey Basic 更新記錄。主要由 Chris Mallett 開發,在 2009 年更新到 1.0.48.05 版本后停止更新。作者在 2010 年宣布 AutoHotkey_L 為它的后續分支。

關于名稱:作者 Chris Mallett 稱之為“AutoHotkey Basic”,多數社區用戶也使用”Classic“,論壇上有些時候會表示為“Vanilla”(我感覺這個是代號),中文用戶多接受“經典版”(符合其內涵)。與 AutoHotkey_L 被稱為“AutoHotkey 1.1”相對應,有時該分支也籠統的使用“AutoHotkey 1.0”代稱。
注:由于這個分支作者已停止開發、論壇提問也不容易獲得支持,同時不包含 Unicode、64位系統及其他重要的特性,目前僅有少數老用戶及一些舊的腳本在使用。

  • AutoHotkey.dll

AutoHotkey.dll 是 AutoHotkey 的動態鏈接庫版本,已合并至 AutoHotkey_H。

AutoHotkey.dll 它允許被 AutoHotkey_L(及基于該分支的版本)加載多次以實現多線程和使用它的導出函數和內置功能;同時可向其他編程和腳本語言嵌入了 AutoHotkey 解釋器而打開了 AutoHotkey 的世界。通過它可以在其他許多語言中使用 AutoHotkey 的功能,如 C#、C++、VB、Python、Javascript 等,只要它們能能加載 DLL 或使用 COM 接口。如果您可以在 Excel 或 Word 宏中執行 AutoHotkey 代碼,這是不是很酷?這是它的內置功能.

  • AutoHotkeyU

AutoHotkeyU 是由 jackieku 開發的 AutoHotkey_L 的 Unicode 版本,已合并回 AutoHotkey_L(Revision 41)。

  • AutoHotkey64

AutoHotkey64 是由 fincs 開發的 AutoHotkey_L 的 64 位版本(并增加 COM 支持),已合并回 AutoHotkey_L(Revision 53)。

小結

看到這里您是不是后悔了,長長的篇幅看下來,我就沒有選擇啊?哈哈,您也不會再為版本困惑了嘛。

參考: What AutoHotkey version should I choose?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,460評論 6 538
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,067評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,467評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,468評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,184評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,582評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,616評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,794評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,343評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,096評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,291評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,863評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,513評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,941評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,190評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,026評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,253評論 2 375

推薦閱讀更多精彩內容

  • 注:中文應用部分仍需更新。轉者按:本文屬于零基礎入門專題教程,原發表于 Download!網絡密技王第三期,后轉載...
    amnesiac閱讀 3,396評論 0 6
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,807評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,692評論 25 708
  • 今天跟一群人一起完了這個古老的游戲。 銀行家希望我們寫一篇,有喜歡后的感想。 我也是第一次玩,感覺有些混亂,也有一...
    塞其兌閱讀 166評論 0 0