如何学习 AutoHotkey?

供新手入门和老手参考的教程和相关资料,包括中文帮助
User avatar
amnesiac
Posts: 186
Joined: 22 Nov 2013, 03:08
Location: Egret Island, China
Contact:

如何学习 AutoHotkey?

17 Aug 2014, 00:19

了解一件事物,方法大体类似,本文中我就个人经历与大家分享。
学习经历

大约在 2005 年底,当时我在深圳一家工厂打杂,这工厂当时的主要产品是 MP3(大家都懂的,山寨嘛,不过当时可能很多人会想到苗族的寨子吧)。U 盘自动运行病毒大规模出现似乎在那个时候,我们也遇到了,车间烧制固件和复制测试文件的电脑都中毒了,所以一段时间内批量出厂的机子都有病毒。单纯这个不会影响到产品,但有客户(实际是中间商)反馈连接电脑不太稳定,返回了不少。这情况本身是自然的,配件廉价,组装时又赶工。王工取了两三个从头烧制、测试了一遍,没什么问题啊,但还是要找出问题,要给老总一个交代让这些机子再发出去。拿了几台让我试试,一连接我的电脑(联网)就弹出了病毒提示。看了车间的电脑后发现都中毒了,我重装了下,但那么多机子怎么杀毒呢?

车间的流程中,烧制固件后是格式化,接着复制测试文件,这两个过程都是在电脑的资源管理器进行。连接到 USB,托盘提示识别、安装驱动、在资源管理器中出现盘符到可以操作,接下来则点击[右键->格式化],完成后复制文件。机子实在有点多,怎么快速格式化并复制文件呢?很快我想到了批处理,但他们感觉很不好用(车间的同事许多初中未毕业出来的),于是搜索到这篇自动化操作轻松入门系列(作者 yonken,这个链接中是转载到论坛的),我想这正是我要的。于是慢慢琢磨着写出个脚本(当时帮助全英文):开启后监视 U 盘,发现后立即格式化并复制文件,同时创建目录屏蔽自运行病毒,完成后提示。他们只需要连上去,拔下来,基本上坐着就行,用的乐呵呵的。

补充:当时为什么我选择 AutoHotkey 呢(那篇文章中也有 AutoIt 的示例)?很简单,在那里这两者比较 AutoHotkey 功能上更强,而且我注意到 yonken 博客文章中也更多涉及。后来发现实际上它们的区别不在功能,而主要在语法。如果您现在为在两者中选择其一而困惑,我建议两者任选其一即可,因为前期的学习可以让您了解脚本是什么,即使之后转向另一种也能很快上手。如果还是想了解,请看:哪些事情是 AutoIt 可以而 AutoHotkey 不行的?
学习方法

我虽然学习并使用了很长时间 ,不过并没有捷径、速成法之类的秘诀,有的只是普普通通的笨办法:
2014073028.png
需求兴趣促动力示意图

从自己需求(感兴趣的问题)开始,在查阅帮助、寻找资料、与其他用户交流等过程中独立思考,进而解决部分问题,并由此带来成就感,形成正反馈,在每次循环的过程中产生源源不断的动力最终解决问题。
对于学习脚本的方法我有几个建议,供参考:

  • 如果目的是希望实现某种具体操作,则从写这个脚本开始,边看帮助边修改边学习,建议选取自己需要却又较简单的操作开始;
  • 如果不是,则可从录制器开始,先录制操作代码边看边学习,对于 AutoHotkey 我建议使用 Pulover's Macro Creator(成熟且功能强大的录制器);
  • 如果不喜欢前两者,则可从许多小例子开始学习,对于 AutoHotkey,小众的懒人包里的脚本简单并具有启发意义,用于新手学习很好不过(用 AutoHotkey_L 执行时可能需稍做修改)。

遇到问题就是进步的时候,别怕问题,也别担心不能解决(曾遇到很多用户只靠帮助不久就能回答群里许多问题了),适当时搜索会事半功倍。
进阶教程

在熟悉帮助基础上,这时普通的问题都不在话下了,如果希望快速深入并形成自己的体系(知道它所短与所长,什么时候该使用,什么时候不应考虑),下面有几个建议:

  1. 加入 AHKCN QQ 群(号码:58806956),积极提问和回答问题;
  2. 官方论坛(含中文版块)、stackoverflow.com 中的 AutoHotkey 专区(英文),积极提问和交流;
  3. 学习中文论坛、官方论坛(及中文子论坛)中感兴趣的脚本和函数,构建体系;
  4. 利用谷歌快讯订阅“AutoHotkey”、“.ahk”等相关关键字,了解网上最新出现的相关信息,其中包括问题和实用脚本,看看别人怎么使用 AutoHotkey(会有惊喜的);
  5. AutoHotkey 代码@罗赛塔任务,包含了大量算法和技巧,可能兴趣居多;

简评:如果您每天都开 QQ,那么使用第一点,如果 QQ 用的不多,考虑第二点:比较而言中文的 QQ 群热闹但论坛冷清,而官方论坛气氛良好。第四点(各个子域名下订阅内容似乎有区别,还有百度邮件新闻订阅)可能会带给你很有趣的东西,我有一次看到有个公司职员用个脚本加摄像头实现了在热水器水开了自动通知的功能(还记得之前我说的吧,能实现什么看您的想象力,我从没想过这样的用法)。还有很多好东西,留给大家发掘吧。
AutoHotkey 学习指南(Beauty of AutoHotkey)
I do not make codes, and only a porter of AutoHotkey: from official to Chinese, from other languages to AutoHotkey, and show AutoHotkey to ordinary users sometimes.

Return to “教程资料”

Who is online

Users browsing this forum: No registered users and 2 guests