1 - 基础

在我们开始我们的旅程之前,让我给你一些建议吧. 在本向导中,你会看到大量的文字和大量代码. 为了更有效的学习, 建议你阅读这些文字并尝试这些代码. 然后再深入学习这些代码. 
你可以复制并粘贴此页上的大多数示例. 
如果你弄糊涂了,试着再看一遍.

a. 下载并安装AutoHotkey

Since you're viewing this documentation locally, you've probably already installed AutoHotkey and can skip to section b.

在学习使用 AutoHotkey (AHK) 之前, 你需要下载它. 下载后,你可能会需要安装它. 但这取决于你下载的版本. 对于本指南,我们将使用安装版,因为对于新手来说,它最容易设置.

文字说明:

  1. 访问AutoHotkey主页. https://autohotkey.com/
  2. 点击下载. https://autohotkey.com/download/ahk-install.exe
  3. 在安装Autohotkey过程中,需要你选择安装UNICODE或者ANSI版本. 你很可能需要UNICODE版本, 简单点说, 如果你想要它支持非英文字符和数字,那就选择UNICODE版. 版本选择之后,一直点下一步直到你看到安装(Install)按钮.
  4. 装完了?棒极了!我们接着往下看.

视频介绍:
Frankie的 "Install and Hello World"
http://www.autohotkey.com/forum/viewtopic.php?t=77674

b. 如何创建一个脚本

装完Autohotkey后,你也许会想它能做些什么. AutoHotkey不是魔法,虽然我也想. 所以需要我们告诉它要去干什么. 而这个过程叫做 "写脚本".

文字说明:

  • 1. 右键点桌面空白处.
  • 2. 点击"新建"菜单.
  • 3. 点击里面的"AutoHotkey Script"新建一个脚本.
  • 4. 给脚本命名. 备注: 文件名必须带.ahk后缀,例如MyScript.ahk
  • 5. 找到刚刚新建的脚本并右键点击它.
  • 6. 点击"Edit Script".
  • 7. 一个新窗口被弹出,也许是记事本. 如果是这样就成功了!

    现在你已经创建了一个脚本, 我们需要加点内容到脚本中. 如果需要用到内置命令,函数和变量, 请查看 第5节.

    这是一个使用Send命令创建的一个包含热键的简单脚本,当你按下热键后,它会向窗口发送一段文字.

    ^j::
       Send, My First Script
    Return
    

    稍后我们将进行更深入的研究. 在此之前,我们先解释一下上面的代码.
    - 第一行. ^j:: 是热键. ^ 代表 CTRLj 是字母 j. 它在 :: 左边 表示你将按下这个热键.
    - 第二行. Send, My First Script 表示如何发送按键. SEND 是命令, 在逗号(,)之后的内容将会被发送.
    - 第三行. Return. Return将会成为你最好的朋友. 它将停止执行之后的代码.当你的脚本包含越来越多的东西时,使用Return会避免很多问题.


  • 8. 保存文件.
  • 9. 双击桌面上的文件来运行它, 打开记事本或者其它可以输入文字的地方然后按下Ctrl+J.
  • 10. 太好了!你的第一个脚本完成了. 给自己一些奖励,然后返回阅读本教程的其余部分.

视频介绍:
Frankie'的"Install and Hello World"
http://www.autohotkey.com/forum/viewtopic.php?t=77674

c. 不要合并命令

当你在写代码的时候, 你可能有强烈的冲动想在同一行放下几个命令, 或者在一个命令中嵌套多个命令,千万不要这样做. 在第5节 我们将会告诉你为什么不要这么做, 同时,我们还将告诉你应该怎么做.

d. 其它基本信息

如何在你的计算机上找到帮助文件:
有几种方法可以做到这一点,假设你已将AutoHotkey安装到默认位置.

方案1:
  1. 找到开始菜单或屏幕上的开始按钮,通常在左下角.
  2. 点击程序或者所有程序.
  3. 在列表中查找AutoHotkey.
  4. 你会看到AutoHotkey Help File. 点击它.
  5. 完成!
方案2:
  1. 去你的桌面.
  2. 找到我的电脑或者计算机. 然后打开它.
  3. 进入安装AutoHotkey的硬盘. 可能是C:\盘.
  4. Program Files文件夹里找到AutoHotkey.
  5. 查找AutoHotkey.chm 或者找一个名叫Autohotkey并带有黄色问号图标的文件.
  6. 完成!

其它链接:
文档
命令列表
函数
变量

2 - Hotkeys & Hotstrings

什么是热键?热键是一个发热的按键,开个玩笑. 热键是用来触发某些动作的按键或组合按键.
什么是热字串?热字串主要用于扩展你的缩写库(自动替换). 当然, 它也可以用来映射任何脚本动作.

这是一个热键:

^j::
   Send, My First Script
Return

这是一个热字串:

::ftw::Free the whales

这两个例子的区别在于热键CTRL & J将会触发一个事件而热字串会将你输入的"ftw"转换为"Free the whales".

"那么,该如何创建一个热键?" 好问题. 热键是通过一对::创建的. 按键名或组合按键名必须在::左边. 代码则跟在后面, 以Return结束.

备注: 也有例外情况,但要解释这些例外情况为时尚早, 所以我们不打算在向导页中介绍它.

esc::
   MsgBox Escape!!!!
Return

热字串在要触发的文本两边各有一对::. 替换后的文本在第二对::的右边.

如上所述,热字串也可以启动脚本动作. 和热键一样能干好多事,真棒!

::btw::
   MsgBox You typed "btw".
Return

有一个好消息是: 你可以为每一个热键,热字串,标签等 写上多行的代码.

^j::
   MsgBox Wow!
   MsgBox this is
   Run, Notepad.exe
   winactivate, Untitled - Notepad
   WinWaitActive, Untitled - Notepad
   send, 7 lines{!}{enter}
   sendinput, inside the ctrl{+}j hotkey
Return

a. 键和神秘符号

你可能会问 "我怎么知道^代表CTRL?!". 好问题!为了帮助你学习^和其它符号的意思,注意看这个表:
符号 描述
# Win(Windows徽标键)
! Alt
^ Control
+ Shift
& 用于连接两个按键(含鼠标按键) 合并成一个自定义热键.

(想要获悉更详细的符号列表, 查看热键页)

此外,这里有一个常用的按键列表:
按键列表

你可以通过在两个按键(除手柄键)之间 使用 & 来定义一个组合热键. 在下面的例子中,你要按下