AutoHotkey
外观
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() |
![]() | |
開發者 | Chris Mallett(Chris),Steve Gray(Lexikos) |
---|---|
首次发布 | 2003年11月10日 |
当前版本 |
|
源代码库 | |
编程语言 | C++ |
操作系统 | Microsoft Windows |
语言 | 英语 |
类型 | 脚本语言自动化GUI |
许可协议 | GPL |
网站 | www |
AutoHotkey是自由开源的編程語言,常用於Windows平台的自動化。[2]
AutoHotkey 能快速編寫的功能
[编辑]- 启动程序,打開文件
- 獲得或產生系統狀態,音量(狀態,調節),搜索螢幕上的图像或像素(獲得坐標),鼠標(位置,懸停視窗對象,移動),鍵盤(热键(快捷鍵),热字串(鍵盤輸入序列),上下文热键),游戏杆按鈕
- 创建图形用户界面
- 剪貼簿操作,程序窗口操作
历史
[编辑]AutoHotkey Basic时期,官方网站为www.autohotkey.com(页面存档备份,存于互联网档案馆)。当Chris Mallett(原作者)停止更新时宣布AutoHotkey_L为后续主分支。[3]不久网站转由polyethene管理,他对网站的决定与论坛中许多核心用户出现较大分歧[4][5]且不时失去联系并成立了公司确保其正常运营。[6][7][8]2014年4月成立了 AutoHotkey Foundation 以確保AutoHotkey自由开放、持续开发,並提供组织、法务和财政上的支持。[9]
版本歷史
[编辑]- AutoHotkey Basic:Chris Mallett 提议在AutoIt v2中集成热键支持未得到AutoIt社区响应后,于2003年11月10日公开发布了AutoHotkey的首个测试版本。[10][11][12]作者以AutoIt v2的语法为基础并在一些命令和编译器中使用AutoIt v3的源码开始编写自己的程序。[13]随后,AutoIt v3的许可从GPL切换为闭源,作者给出的原因是“某些项目重复窃取AutoIt的代码”和“建立了竞争者”。[14]
- AutoHotkey_L:2010年10月10日,原作者在停止更新一年多后表示“失去了兴趣”并声明AutoHotkey_L为正在开发的分支,并把它放置在网页的下载部分的前面。[15]同时把原来的版本称为 AutoHotkey Basic。[16]比起AutoHotkey Basic,AutoHotkey_L中增加了Unicode、COM、对象、调试特性和其他功能。[17]
主要分支
[编辑]- AutoHotkey 1.0.* - 被稱為 AutoHotkey Basic 或者 AutoHotkey Classic 或者 AutoHotkey Vanilla[18]
- AutoHotkey_H[19] 是由 HotkeyIt 合并了原有AutoHotkey.dll 並在 AutoHotkey_L 及 AutoHotkey v2 的基础上开发的分支。
- AutoHotkey_L 主要由 Lexikos 在 AutoHotkey Basic 基础上开发的分支[17],但是現在已經變成(也被稱為) AutoHotkey 1.1.*(页面存档备份,存于互联网档案馆) 的主要版本。[18]
- AutoHotkey v2[20] 由 Lexikos 基于AutoHotkey_L代码开发,已于2022年12月20日正式发布,語法不完全兼容 AutoHotkey_1.1.*。[21][22]2023年1月22正式成為官方的默認版本。[1] (页面存档备份,存于互联网档案馆)
應該選擇哪個版本
[编辑]AutoHotkey 1.0.* 和 AutoHotkey_H 已停止開發和維護,不建議使用。
依賴大量舊的代碼庫建議使用 AutoHotkey 1.1.*,因為目前絕大多數的代碼和社區都是使用這個版本,這個版本仍在維護,仍然會添加少量的新功能和修復錯誤,用戶可以等待遷移工具完善或者 v2 變成主流再遷移即可。
不依賴舊的代碼庫,願意且能夠同步改動代碼的用戶使用 AutoHotkey v2,能獲得更一致的語法和更多的新功能。另外从v2 beta 4版本开始,v2和v1.1可以在同一台电脑上共存,v2 beta 15 已能自動從代碼來決定以哪個版本的引擎來運行,也有提供安裝工具,無需手動編譯或設定。
常用的辅助工具
[编辑]- 中文和英文文檔[23][24]
- Window Spy(自帶):獲得當前窗口或控件的進程的接口細節。
- ahk2exe(Convert .ahk to .exe)(自帶):脚本编译器,把 ahk 脚本转换成可执行文件。
- SciTE4AutoHotkey (页面存档备份,存于互联网档案馆):基于 SciTE 的代碼编辑器,功能包含语法高亮、自动补全、一鍵運行腳本、GUI 工具等。
- GUI Creator[25]:在图形界面中为AutoHotkey脚本创建GUI的工具。
- Pulover's Macro Creator[26]:圖形化宏录制工具和自动化工具。
- iWB2 Learner[27]:从IE中获取网页元素信息的工具,编写COM自动化操作IE的工具。
- VSCode 上的相關插件:提供語法高亮,文檔格式化等功能。
代碼範例
[编辑]快捷鍵(熱鍵)
讓左邊的 ⊞ Win键失效
LWin::Return
搜索剪貼簿的內容
Alt & g::Run http://www.google.com/search?q=%clipboard%
热字串(序列键)[28]範例:依次按下wjbk 輸入维基百科
::wjbk::维基百科,自由的百科全书
按下rn 打開記事本
::rn::Run, Notepad
另请参阅
[编辑]- SciTE4AutoHotkey (页面存档备份,存于互联网档案馆)
- AutoIt
- AutoKey(用于Linux)
- Automator(用于Macintosh)
- Bookmarklet
- 用于Firefox的iMacros
参考资料
[编辑]- ^ Release 2.0.18. 2024年7月6日 [2024年7月6日].
- ^ Prevent RSI with AutoHotkey. cedeq.com. [2014-03-02]. (原始内容存档于2014-03-02).
- ^ Chris. My status and website changes. AutoHotkey.com. [2014-06-15]. (原始内容存档于2014-10-09).
- ^ polyethene. Changes for AutoHotkey website. AutoHotkey.com. [2014-06-15]. (原始内容存档于2014-10-09).
- ^ sumon. Make AHK_L "main" version?. AutoHotkey.com. [2014-06-15]. (原始内容存档于2014-07-14).
- ^ tidbit. Basics as to why AHKSCRIPT exists. ahkscript.com. [2014-06-15]. (原始内容存档于2014-07-27).
- ^ The AutoHotkey Foundation. ahkscript.org. [2014-06-15]. (原始内容存档于2014-06-25).
- ^ tank. Welcome and if you need help. ahkscript.org. [2014-06-15]. (原始内容存档于2014-07-14).
- ^ The AutoHotkey Foundation. ahkscript.org. [2014-06-29]. (原始内容存档于2014-06-25).
- ^ Author Chris Mallett's post on the AutoHotkey Forums. Autohotkey.com. [2011-12-02]. (原始内容存档于2008-02-18).
- ^ An AutoIt / AutoHotkey nonfunctional comparison. Paperlined.org. [2011-12-02]. (原始内容存档于2011-12-08).
- ^ AutoHotkey Changelog for Years 2003-2004. Autohotkey.com. [2011-12-02]. (原始内容存档于2011-11-04).
- ^ Author Chris Mallett's post on the AutoHotkey Forums. Autohotkey.com. [2011-12-02]. (原始内容存档于2008-05-26).
- ^ Licensing Opinions - AutoIt Forums. Autoitscript.com. [2011-12-02]. (原始内容存档于2019-09-19).
- ^ Forum post by Chris, announcing AutoHotkey_L now main platform. Autohotkey.com. [2011-12-02]. (原始内容存档于2019-09-19).
- ^ Download page showing AutoHotkey_L as ongoing platform. Autohotkey.com. [2011-12-02]. (原始内容存档于2011-12-01).
- ^ 17.0 17.1 AutoHotkey_L的新增特性. ahkcn.sourceforge.net. [2011-12-28]. (原始内容存档于2014-10-09).
- ^ 18.0 18.1 AutoHotkey Downloads. (原始内容存档于2020-07-02).
- ^ HotKeyIt. AutoHotkey_H. autohotkey.net. [2014-06-16].
- ^ AutoHotkey v2. ahkscript.org. [2014-06-15]. (原始内容存档于2014-07-09).
- ^ AutoHotkey v2 Development. ahkscript.org. [2014-06-15]. (原始内容存档于2014-07-14).
- ^ v2-changes. www.autohotkey.com. [2020-08-19]. (原始内容存档于2020-04-09).
- ^ ahk 英文文檔. (原始内容存档于2019-10-01).
- ^ ahk 中文文檔. (原始内容存档于2019-10-13).
- ^ maestrith. GUI Creator. ahkscript.org. [2014-06-16]. (原始内容存档于2014-06-25).
- ^ Pulover's Macro Creator. macrocreator.com. [2014-04-08]. (原始内容存档于2014-04-08).
- ^ iWB2 Learner页面. [2014-04-22]. (原始内容存档于2014-04-18).
- ^ 热字串和自动替换. AutoHotkey中文帮助. ahkcn.sf.net. [2014-06-16]. (原始内容存档于2014-06-03).