AutoHotkey

AutoHotkey是自由开源的編程語言,常用於Windows平台的自動化。

AutoHotkey 能快速編寫的功能
*启动程序,打開文件

  • 獲得或產生系統狀態,音量(狀態,調節),搜索螢幕上的图像或像素(獲得坐標),鼠標(位置,懸停視窗對象,移動),鍵盤(热键(快捷鍵),热字串(鍵盤輸入序列),上下文热键),游戏杆按鈕
  • 创建图形用户界面
  • 剪貼簿操作,程序窗口操作

历史
AutoHotkey Basic时期,官方网站为[http://www.autohotkey.com www.autohotkey.com]。当Chris Mallett(原作者)停止更新时宣布AutoHotkey_L为后续主分支。不久网站转由polyethene管理,他对网站的决定与论坛中许多核心用户出现较大分歧且不时失去联系并成立了公司确保其正常运营。2014年4月成立了 AutoHotkey Foundation 以確保AutoHotkey自由开放、持续开发,並提供组织、法务和财政上的支持。

版本歷史

  • AutoHotkey Basic:Chris Mallett 提议在AutoIt v2中集成热键支持未得到AutoIt社区响应后,于2003年11月10日公开发布了AutoHotkey的首个测试版本。作者以AutoIt v2的语法为基础并在一些命令和编译器中使用AutoIt v3的源码开始编写自己的程序。随后,AutoIt v3的许可从GPL切换为闭源,作者给出的原因是“某些项目重复窃取AutoIt的代码”和“建立了竞争者”。
  • AutoHotkey_L:2010年10月10日,原作者在停止更新一年多后表示“失去了兴趣”并声明AutoHotkey_L为正在开发的分支,并把它放置在网页的下载部分的前面。同时把原来的版本称为 AutoHotkey Basic。比起AutoHotkey Basic,AutoHotkey_L中增加了Unicode、COM、对象、调试特性和其他功能。
  • AutoHotkey_H 是由 HotkeyIt 合并了原有AutoHotkey.dll 並在 AutoHotkey_L 及 AutoHotkey v2 的基础上开发的分支。

AutoHotkey_L 主要由 Lexikos 在 AutoHotkey Basic 基础上开发的分支,但是現在已經變成(也被稱為) [https://github.com/Lexikos/AutoHotkey_L/ AutoHotkey 1.1.] 的主要版本。 由 Lexikos 基于AutoHotkey_L代码开发,已于2022年12月20日正式发布,語法不完全兼容 AutoHotkey_1.1.*。2023年1月22正式成為官方的默認版本。[https://www.autohotkey.com/boards/viewtopic.php?f=24&t=112989]

應該選擇哪個版本
AutoHotkey 1.0.* 和 AutoHotkey_H 已停止開發和維護,不建議使用。

依賴大量舊的代碼庫建議使用 AutoHotkey 1.1.*,因為目前絕大多數的代碼和社區都是使用這個版本,這個版本仍在維護,仍然會添加少量的新功能和修復錯誤,用戶可以等待遷移工具完善或者 v2 變成主流再遷移即可。

不依賴舊的代碼庫,願意且能夠同步改動代碼的用戶使用 AutoHotkey v2,能獲得更一致的語法和更多的新功能。另外从v2 beta 4版本开始,v2和v1.1可以在同一台电脑上共存,v2 beta 15 已能自動從代碼來決定以哪個版本的引擎來運行,也有提供安裝工具,無需手動編譯或設定。

常用的辅助工具

  • 中文和英文文檔

*Window Spy(自帶):獲得當前窗口或控件的進程的接口細節。
*ahk2exe(Convert .ahk to .exe)(自帶):脚本编译器,把 ahk 脚本转换成可执行文件。
*[https://github.com/fincs/SciTE4AutoHotkey SciTE4AutoHotkey] :基于 SciTE 的代碼编辑器,功能包含语法高亮、自动补全、一鍵運行腳本、GUI 工具等。

  • GUI Creator:在图形界面中为AutoHotkey脚本创建GUI的工具。
  • Pulover's Macro Creator:圖形化宏录制工具和自动化工具。
  • iWB2 Learner:从IE中获取网页元素信息的工具,编写COM自动化操作IE的工具。
  • VSCode 上的相關插件:提供語法高亮,文檔格式化等功能。

代碼範例
快捷鍵(熱鍵)

讓左邊的 键失效

LWin::Return

搜索剪貼簿的內容

Alt & g::Run http://www.google.com/search?q=%clipboard%

热字串(序列键)範例:依次按下 輸入维基百科
::wjbk::维基百科,自由的百科全书

按下 打開記事本

::rn::Run, Notepad

另请参阅

参考资料
外部链接

*[http://ahkscript.org/boards/viewforum.php?f=26 官方论坛中文子版]
*[https://wyagd001.github.io/zh-cn/docs/Tutorial.htm 初学者嚮導]
*[https://www.autohotkey.com/docs/AutoHotkey.htm 英文文檔]
*[https://wyagd001.github.io/zh-cn/docs/AutoHotkey.htm 中文文檔]
*[https://github.com/ahkscript/awesome-AutoHotkey awesome-AutoHotkey AutoHotkey 相關項目]

评论 (0)

  • 还没有评论,来抢沙发吧。