0%

AutoHotkey快速入门

说明
1. 参考作者李辉在博客上的文章:AutoHotkey——自动化你的生活

一、AutoHotkey简介

AutoHotkey是一款免费的、Windows平台下开放源代码的热键脚本语言。从名字可以看出来,它可以用来设置热键。但是因为它是一门脚本语言,所以就不止设置快捷键那么简单了。帮助文档这样介绍它的功能:

  • 通过发送键盘键击和鼠标点击自动化几乎所有的操作。您可以手工编写宏或者使用宏录制器。
  • 为键盘,游戏杆和鼠标创建热键。几乎任何按键、按钮或组合键都可以设置为热键。
  • 在您键入缩写时扩展缩写。例如,键入 “btw” 能自动地生成 “by the way”。
  • 创建自定义的数据输入表格、用户界面和菜单栏。详见图形用户界面。
  • 重新映射您键盘、游戏杆和鼠标上的按键和按钮。
  • 通过WinLIRC客户端脚本对手执遥控器的信号作出反应。
  • 运行现有的AutoIt v2脚本,并用新功能增强它们。
  • 将任何的脚本转换为EXE文件,使其在没有安装AutoHotkey的计算机上也能运行。

二、最简流程示例

  1. www.autohotkey.com下载或点击这里下载(AutoHotkey1.1),然后安装。

  2. 使用编辑器或记事本新建一个脚本文件,格式为.ahk,编码格式为UTF-8

  3. 编辑脚本,在脚本中写入下面这行:

    1
    #h::Run www.greyli.com

  4. 保存后双击运行。

  5. 这时按下Windows键和h键就会打开我的博客。

  6. 在上面这个命令中

    • 符号#表示Windows键

    • #后紧跟着h表示组合键

    • 符号::用来分隔热键和命令(左边是热键,右边是命令)

    • Run命令用来打开一个文件或网页,中间空一个空格。

三、基本术语

  1. 脚本/宏(Script):你要编辑的一个格式后缀为.ahk的纯文本文件(编码格式为UTF-8)。你把代码写进这个脚本里,双击执行后,你的热键就生效了。

  2. 热键(hotkey):用来触发操作的按键或组合键,也就是快捷键。

  3. 命令:你为某个热键指定的一个动作(action),比如打开程序,打开网页等。

  4. 热字串(hotstring):类似于热键,当你输入热字串并按下回车或空格后触发相应的命令。

  5. 宏录制器(AutoScriptWriter):可以录制回放你的操作的工具,非常适合新手入门学习。

  6. 多行热键:当通过热键触发多个命令时,这时的格式是命令从第二行开始,每个命令一行,最后以占据一行的return结束。

    1
    2
    3
    4
    #h::
    RunWait Notepad
    Msgbox Goodbye!
    return

  7. 参数:自定义的数值,传递给命令执行,比如sleep后面的时间数就是参数。参数与命令通过空格或逗号隔开,多个参数使用逗号隔开。

  8. 注释(comment):注释是用来对你的代码进行解释和说明的文字

    • 单行的注释以;开头

    • 多行注释用/**/括住。

      1
      2
      3
      4
      ;这是单行注释
      /* 这里

      多行注释 */

四、常用命令

  1. Run:用来打开一个程序、文档、网页或者快捷方式
  2. Send:发送键击或一段字符
  3. Msgbox:消息窗口
  4. Inputbox:用户输入窗口
  5. Sleep:脚本等待指定的时间,然后执行下面的命令。后面接时间参数(毫秒)
  6. Click:在指定的位置点击鼠标

五、常用符号

  1. #:Windows键
  2. ^:Control键
  3. !:Alt键
  4. +:Shift键
  5. &:用来连接两个按键组成组合键(使用除了上面四个按键外)
  6. <>:分别表示成对按键中左边和右边的的按键
  7. TabEnter等:没有特殊符号。使用Send命令时用大括号括起来以和字符区分开。

注:前四个为修饰键,可以和其他按键直接相连(比如写成#a),其他按键要做修饰键时需要用&连接(比如a&b)。

六、基础应用示例

(一)为常用软件、网站设置快捷键

建议用热字串来启动常用的程序,把快捷键留给常用的操作。为了防止打字时冲突可以在热字串前加特定的符号,比如斜线。使用热字串启动命令要使用多行热键格式。

  1. 按下Windows键和k键打开Notepad++:

    1
    #k::Run D:\Program Files (x86)\Notepad++\notepad++.exe

  2. 按下Windows键键和h键,或输入hui后按下回车或空格(推荐使用空格)可以打开我的博客:

    • 热字串在要触发的文本两边各有一对::

      1
      2
      3
      4
      5
      #h::Run www.greyli.com
      ;下面使用热字串运行同样的命令,这时要采用多行分隔
      ::hui::
      Run www.greyli.com
      return

  3. 按下Alt键和m键打开一组网页和程序:

    1
    2
    3
    4
    5
    !m::
    Run www.google.com
    Run http://fm.douban.com
    Run D:\Program Files (x86)\Notepad++\notepad++.exe
    return

(二)用热键或热字串保存常用文字

  1. 按下Alt键和k键发送我的签名:

    1
    2
    3
    !k::
    Send Sincerely,{Enter}Richard Hui.
    return

  2. 写下@g键后按下空格或回车,自动转换为我的邮箱

    1
    ::@g::withlihui@gmail.com

  3. 按下Alt键和g键后填入我的账户和密码并登录(先把光标点在第一个输入框里)。

    1
    2
    3
    !g::
    Send withlihui@qq.com {Tab}mimashi123 {Enter}
    return

七、Tips与建议

  1. 命令不区分大小写。
  2. 所有的符号均为英文符号。
  3. 一个脚本里可以写入多个热键。
  4. 发送的字符里包含的按键前要有一个空格。
  5. 不分配热键的命令将从上往下依次执行。
  6. 修改后的脚本要重新运行(双击执行脚本文件)才能生效。