本页使用了标题或全文手工转换

AutoHotkey

维基百科,自由的百科全书
跳到导航 跳到搜索
AutoHotkey
AutoHotkey logo.png
開發者 Chris Mallett(Chris),Steve Gray(Lexikos)
初始版本 2003年11月10日 (2003-11-10)
穩定版本
1.1.30.03[1]
(2019年4月5日,​7個月前​(2019-04-05
預覽版本
2.0-a070[1]
(2015年11月9日,​4年前​(2015-11-09
源代码库 編輯維基數據鏈接
编程语言 C++
操作系统 Microsoft Windows
语言 英语
类型 脚本语言自动化GUI
许可协议 GPL
网站 www.ahkscript.org请参阅#官方网站说明

AutoHotkey自由开源的編程語言。通常用於 Windows 平台的自動化,也可以製作 GUI 軟體。[2]

功能与定位[编辑]

特色

  1. 編輯 .ahk 檔案,保存後雙擊即可運行腳本
  2. 通过检测图像和像素颜色来自动操作游戏,以减缓肢体重复性劳损
  3. AutoHotkey 被設計為很容易使用热键(快捷鍵)或热字串(文字輸入序列)触发各式的操作。
  4. 擁有詳細的中文和英文文檔
  5. 窗口識別、對象管理
  6. 支持大部分按键和按钮(鼠标和游戏杆按钮[3])、上下文热键、自定义组合键、动态热键等,同时众多的修饰符提供了许多附加特性。[4]可容易的实现重映射键盘按键(例如更改键盘布局,如从QWERTY映射为Dvorak
  7. 內置 powershell javascript batch 的指令,或者調用其它的語言撰寫的腳本


AutoHotkey 能快速实现的功能:

  • 重映射键盘按键、鼠标和游戏杆的按钮
  • 发送键击及鼠标和操纵杆的点击几乎可自动化所有操作
  • 启动程序或文档,操作与控制其他程序的窗口
  • 处理字符串,支持正则表达式
  • 操作文件和文件夹、注册表和INI文件
  • 设置静音,调节音量和声卡的其他设置
  • 创建自定义图形用户界面程序,从用户或文件中获取输入
  • 监视系统,当某些状态改变时自动响应

代碼示例[编辑]

快捷鍵(熱鍵)

屏蔽左邊的 ⊞ Win

LWin::Return


搜索剪貼簿的內容

#g:: ; Win+g
   Run http://www.google.com/search?q=%clipboard%
Return

热字串(序列键)[5]範例:依次按下wjbk 輸入维基百科

::wjbk::维基百科,自由的百科全书

在任何地方依序按下rn 打開記事本

::rn::
Run, Notepad
return


开发历史[编辑]

Chris Mallett提议在AutoIt v2中集成热键支持未得到AutoIt社区响应后,于2003年11月10日公开发布了AutoHotkey的首个测试版本。[6][7][8]作者以AutoIt v2的语法为基础并在一些命令和编译器中使用AutoIt v3的源码开始编写自己的程序。[9]随后,AutoIt v3的许可从GPL切换为闭源,原因是“某些项目重复窃取AutoIt的代码”和“建立了竞争者”。[10]

2010年10月10日,原作者在停止更新一年多后表示“失去了兴趣”并声明AutoHotkey_L为正在开发的分支,并把它放置在网页的下载部分的前面。[11]同时把原来的版本称为AutoHotkey Basic。[12]比起AutoHotkey Basic,AutoHotkey_L中增加了UnicodeCOM对象调试特性和其他功能。[13]

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

主要分支[编辑]

  • AutoHotkey_L 主要由Lexikos在AutoHotkey Basic基础上开发的分支,主要增加或增强了以下功能:[13]
  • AutoHotkey v2[21] 由Lexikos基于AutoHotkey_L代码开发,主要进行语法改进和功能整合。目前仍在测试过程中,语法、功能尚不稳定(与AutoHotkey_L差异较大[22]),欢迎参与测试协助完善[23],尚不推荐作为日常使用。
  • AutoHotkey_H[24] 是由HotkeyIt合并了原有AutoHotkey.dll并在AutoHotkey_L(及AutoHotkey v2)基础上开发的增强分支。它没有使用自己的版本号,一般与AutoHotkey_L(及AutoHotkey v2)并行开发。实际上包含了基于AutoHotkey_LAutoHotkey v2 两种分支扩展后的 AutoHotkey.exe(H版本)和AutoHotkey.dll及相关文件,功能有所增强,有经验的老用户可考虑使用。

详细的版本历史请参阅选择哪个分支?


其他内容[编辑]

常用的辅助工具[编辑]

  • 中英文文檔[25][26]
  • Window Spy(自帶):獲得當前窗口或控件的進程的接口細節。
  • ahk2exe(Convert .ahk to .exe)(自帶):脚本编译器,把 ahk 脚本转换成可执行文件。
  • SciTE4AutoHotkey:基于 SciTE 的代碼编辑器,功能包含语法高亮、自动补全、一鍵運行腳本、GUI 工具等。
  • GUI Creator[27]:在图形界面中为AutoHotkey脚本创建GUI的工具。
  • Pulover's Macro Creator[28]:圖形化宏录制工具和自动化工具。
  • iWB2 Learner[29]:从IE中获取网页元素信息的工具,编写COM自动化操作IE的工具。
  • VSCode 上的相關插件:提供語法高亮,文檔格式化等功能。

用 AHK 撰寫的工具[编辑]

这里列出一些基于AutoHotkey编写的工具:

  • AutoHotkey 部分脚本列表[30]
  • 屏幕密码锁[31]:屏幕密码锁软件,可以方便地锁住鼠标和屏幕。
  • AHK脚本管理器[32]:用于管理(包括启动、关闭、重载和编辑等操作)AutoHotkey脚本的工具。
  • HK4WIN[33]:针对Windows系统的快捷键增强软件。
  • VimDesktop[34]:让Windows桌面程序拥有Vim操作风格的辅助工具。
  • LINK[35]:用于管理、收藏、重命名各种快捷方式,以便你记忆并通过热字符快速启动程序。
  • Jumplist Extender[36]:让任意程序支持跳转列表。
  • Clipjump[37][38][39]:开源的剪贴板管理工具。
  • Candy[40]:根据包含文件类型和关联程序的配置通过简便的方式使用多种不同的程序打开选中的文件,代替系统中在目标文件上点击右键并从打开方式中选择目标程序的繁琐方式。[41]


另请参阅[编辑]

参考资料[编辑]

  1. ^ 1.0 1.1 AutoHotkey Downloads. ahkscript.org. [2014-06-15]. 
  2. ^ Prevent RSI with AutoHotkey. cedeq.com. [2014-03-02]. 
  3. ^ 重映射按键和鼠标按钮. AutoHotkey中文帮助. ahkcn.sf.net. [2014-06-16]. 
  4. ^ 热键入门和功能介绍. AutoHotkey中文帮助. ahkcn.sf.net. [2014-06-16]. 
  5. ^ 热字串和自动替换. AutoHotkey中文帮助. ahkcn.sf.net. [2014-06-16]. 
  6. ^ Author Chris Mallett's post on the AutoHotkey Forums. Autohotkey.com. [2011-12-02]. 
  7. ^ An AutoIt / AutoHotkey nonfunctional comparison. Paperlined.org. [2011-12-02]. 
  8. ^ AutoHotkey Changelog for Years 2003-2004. Autohotkey.com. [2011-12-02]. (原始内容存档于2011-11-04). 
  9. ^ Author Chris Mallett's post on the AutoHotkey Forums. Autohotkey.com. [2011-12-02]. 
  10. ^ Licensing Opinions - AutoIt Forums. Autoitscript.com. [2011-12-02]. 
  11. ^ Forum post by Chris, announcing AutoHotkey_L now main platform. Autohotkey.com. [2011-12-02]. 
  12. ^ Download page showing AutoHotkey_L as ongoing platform. Autohotkey.com. [2011-12-02]. 
  13. ^ 13.0 13.1 AutoHotkey_L的新增特性. ahkcn.sourceforge.net. [2011-12-28]. 
  14. ^ Chris. My status and website changes. AutoHotkey.com. [2014-06-15]. 
  15. ^ polyethene. Changes for AutoHotkey website. AutoHotkey.com. [2014-06-15]. 
  16. ^ sumon. Make AHK_L "main" version?. AutoHotkey.com. [2014-06-15]. 
  17. ^ tidbit. Basics as to why AHKSCRIPT exists. ahkscript.com. [2014-06-15]. 
  18. ^ The AutoHotkey Foundation. ahkscript.org. [2014-06-15]. 
  19. ^ tank. Welcome and if you need help. ahkscript.org. [2014-06-15]. 
  20. ^ The AutoHotkey Foundation. ahkscript.org. [2014-06-29]. 
  21. ^ AutoHotkey v2. ahkscript.org. [2014-06-15]. 
  22. ^ 与v1.1比较v2.0的主要变化. ahkscript.org. [2014-06-15]. 
  23. ^ AutoHotkey v2 Development. ahkscript.org. [2014-06-15]. 
  24. ^ HotKeyIt. AutoHotkey_H. autohotkey.net. [2014-06-16]. 
  25. ^ ahk 英文文檔. 
  26. ^ ahk 中文文檔. 
  27. ^ maestrith. GUI Creator. ahkscript.org. [2014-06-16]. 
  28. ^ Pulover's Macro Creator. macrocreator.com. [2014-04-08]. 
  29. ^ iWB2 Learner页面
  30. ^ AutoHotkey 脚本展示. 
  31. ^ Lock Screen Appinn –屏幕密码锁升级到1.4.7. 小众软件. [2014-04-08]. 
  32. ^ AHK脚本管理器. 小众软件. [2014-04-08]. 
  33. ^ 宋瑞华. HK4WIN官方网站. [2014-04-08]. 
  34. ^ VimDestop使用简介. github.com. [2014-04-23]. 
  35. ^ megalove. LINK第四版. ahk8.com. [2014-05-20]. [永久失效連結]
  36. ^ DigiM29. Jumplist Extender - Add jumplists to any program!. www.neowin.net. [2014-08-10]. 
  37. ^ Avi. Clipjump : The Ultimate Clipboard Manager. ahkscript.org. [2014-08-21]. 
  38. ^ jumplist-extender github 軟體源. 
  39. ^ Google Code 源. 
  40. ^ aamii. Candy. github.com. [2014-09-15]. 
  41. ^ 沙牛. 以简驭繁弹指神通–超绝神器Candy小窥. 善用佳软. [2014-09-15]. 

外部链接[编辑]