本博客的 AutoHotkey 版本说明
本博客的大部分代码已升级到AutoHotkey v2 beta7版
(会明确标注)
个人用的是 「天黑请闭眼」修改的 AutoHotkey H2版(完全兼容v2,我也只是当v2来用),
主要改动见对应网址,我用到的改动主要是:
- v2-beta 有个很重要的概念改动,原先的
object
(键值对),现在改名叫map
,定义的语法是map("a",1, "b",2)
,注意没有:
号 - 内置了
json
库,用json.stringify(["a","b"], 4)
或json.parse(strJson)
即可 - 增加了
#MapCaseSense off
的选项(原版 map 默认是大小写敏感),这对脚本很不友好。但是我进一步希望这成为默认值,而无需用户配置
使用方法:
右键ahk
文件的【打开方式】,绑定到 AutoHotkey64.exe
文件,以后直接双击.ahk文件
即可
补充:360有时会拦截并删除
AutoHotkey64.exe
,有问题,请先退出360。
本人的 AutoHotkey 之路
源于善用佳软
的启蒙
本人于2014年底看到了善用佳软对各精品软件的介绍,终于开启了新世界的门户,逐步接触了如下软件。
- AutoHotkey
- TC(Total Commander)
- Vim
- Everything
- IrfanView
- Beyond Compare
- Ditto
以上都是精品软件,AutoHotkey
作为脚本语言,更是神器,终于有个可以对电脑为所欲为的工具了。
虽为神器,但比较小众,并且版本众多。本人接触时间较晚(2015年初),当时主流是AutoHotkey L1版
,
最初学习印象较深的作品是【快餐店教程】和「万年书妖」的【candy】,「胡杨」的【VBA教程】,「萝卜」等前辈们的众多教程,慢慢带领我从小白到入门,
后来接触到了「林欣宏」大神的 VimDesktop 和 QuickZ,对我影响很大。
随着使用的深入,发现AutoHotkey L1
的语法有几点不太喜欢:
- 有传统语法和标准语法两类,新手很容易犯语法错误
- 很多都是命令模式,而非函数模式,无法直接输出内容
- 没有匿名函数,不能内嵌函数
第一次升级:L1 到 v2-a102
在别人介绍下于2017-11-26
才开始接触AutoHotkey v2-alpha版(第一版a045发布时间是2014-2-14),先了解了相关功能,为第一次升级作准备,
由于改动巨大,用vim写了脚本进行【简易功能批量转换】,细节的再手工调整。
v2-a103 至 a138(alpha的最终版),语法还是在不断改动,而我并没掌握相应的转换规则,缺少人指导,就停滞了。
期间由于 v2 没有 VimDesktop 和 QuickZ 了,而原作者也已经淡出 Windows 投奔 MAC 系统,
只能学习原作的思路,自己摸索着整出了自己的简易版 vimd 和 qz(个人使用,所以不需要折腾Gui,全部都用代码)
除了这两大神器,自己独立整了个菜单的插件 menus,所有的菜单(打开软件|打开文件|编辑文本文件|打开网页|打开QQ好友|打开微信好友)等都由此管理。
配置文件是ini,文件修改后,脚本会自动识别并更新成json格式。脚本生成菜单只需要加载json文件即可。
后来学习了gdip
, UI Automation
, 网络API
等技术,不断地充实脚本功能和范围。
第二次升级:v2-a102 到 v2-beta
lexikos 于 2021-7-25发布了AutoHotkey v2 beta1版,提及 v2 语法已基本稳定,所以心痒痒地决定升级。
刚好机缘巧合(AutoHotkey v2的lsp)之下结识了 天黑请闭眼,
升级v2-beta版很多核心的技术都是由他指导,
再次又用vim写了批量转换的脚本进行【简易功能批量转换】,断断续续又花了几个月时间才把脚本全部转到最新版了。
由于本人一直崇尚单进程运行脚本,所以脚本的体量还是比较大的(截止2022-1-9,包含第3方库和注释,脚本行数已达67995行,文件数186)
同时也给脚本升级带来了相当大的工作量。理了下日记,发现两次升级的时间跨度都比较长
最新版的语法和功能确实挺满意的,遗憾的就是太缺人气了,自从用了 v2 后,基本上就是孤家寡人了。
经过断断续续2个多月的努力,个人在用的脚本已全部升级到v2-beta
版,终于结束了v2-a102
两年的过渡期。
由于 AutoHotkey
版本众多,目前以v2-beta
版为主要生产力。
把 AutoHotkey L1
版的文件扩展名改成了 ah1,v2-beta
版终于转正为ahk
扩展名。