「河许人」AutohotkeyAutoHotkey 之美

【指南】如何构建知识体系

2014-07-22  本文已影响424人  amnesiac

作者:amnesiac 首发:官方论坛中文版

导言:很多人可能在生活中或电视上看到这样的情景:一个昆虫向前飞,撞到了蜘蛛网,开始挣扎,每一次的挣扎都让蛛网剧烈晃动,看起来摇摇欲破,但昆虫也让蛛丝越捆越紧,最终成为蜘蛛腹中之物(偶尔也有网破之时)。这整个网就像是知识体系,昆虫的落点则是所遇到问题与我们知识体系的连接处,当知识体系中节点越多,连接越紧密,那么遇到问题被解决的可能性也越大(撞到网上的机率大多了)。曾看到一个 Total Commader 问题,我在回答中使用了消息,后来题主追问,为什么会想到消息呢?希望本文能给有类似疑问的朋友一些启发,这里讲述学习和使用 AutoHotkey 过程中如何构建知识体系中的个人看法,欢迎交流。

掌握基础部分

  1. 热键、热字串
    这两个是最基础的,基本无需学习、即刻掌握。
  2. 基本语法
    脚本的基本知识(如注释)、变量和表达式的用法,这部分也无需专门学习,简单了解即可。
  3. 普通的命令、函数
    这里应着重于命令自身的用途、语法和参数等,需要能用于实际问题中。
  4. 把同类命令(函数)联系起来
    分类命令,加强彼此之间的区别与联系,如文件操作命令、字符串操作命令等(帮助的目录中已经分类好了),又如 Send 系列命令中哪个适用于哪种环境。
  5. 流程控制、子程序、函数
    在需要时重用代码,增加编写代码和解决问题的效率。

学习扩展内容

  1. 指令
    能使用指令实现自己需要的控制。
  2. 数组、对象
    能理解,并对比文件对象与之前的文件命令、伪数组与数组的异同。
  3. 图形界面
    了解 Gui/GuiControl/GuiControlGet 及个子命令用法,会使用 SmartGUI 创建图形界面或自行定制。
  4. 正则表达式
    文本处理中,这个工具功能强大,要完全掌握委实不易,不过基础部分通过帮助中的参考在脚本中使用问题应该不大。

了解进阶知识

  1. Run/RunWait
    不会批处理不要紧,适当了解系统命令行中的命令有些事情能事半功倍,有兴趣也可了解第三方工具,如 NirCmd(命令行中少见的瑞士军刀)等。注:这两个命令运行图形程序也是一样的,不过这对于系统程序或第三方工具都较简单,应该基础部分就会了。
  2. COM 系列函数
    会使用系统或第三方 COM 对象,如 Office 系列组件、大漠插件等。
  3. PostMessage/SendMessage/OnMessage()/RegisterCallback()
    消息,会查询系统或第三方工具的消息相关文档并用于脚本中。
  4. WMI
    WMI 实际上也是通过 COM 调用的,但它异常强大同时异常复杂,所以这里单独提到。
  5. DllCall()/VarSetCapacity()/NumPut()/NumGet()
    了解 Windows API,能构造出所需变量类型并使用,能使用第三方组件。
  6. 其他
    AutoHotkey_H、机器码等,单从用处而言这些可能较罕见,不过有助于理解 AutoHotkey 的内部机制,如半线程的概念等。

小结

最后,这个网的结点越多,联系越紧密,那么猎物撞到网上的机率就越大(解决的方法也增多)。对于本文开头所说的问题,如果不用消息,可能还有其他方法,因为这个方法够简单,我不会再作他想。

上一篇 下一篇

猜你喜欢

热点阅读