AutoHotKey 是一个免费的键盘宏程序,可以用于配置键盘快捷键、鼠标事件

以及摇杆事件,还可以在输入文本的时候对文本进行扩展(自动补全)

第一个脚本

新建文件test.ahk并输入以下内容:

^!n::
Run, notepad
Return

保存文件,双击执行,可以在右下角看到脚本执行的图标,

然后按下Ctrl+Alt+N就可以打开记事本程序。

AutoHotKey 快捷键命令大概可以分为三个部分:

  • ::左边的部分表示需要按下的快捷键,^表示Ctrl,!表示Alt
  • ::右边部分表示需要执行的命令
  • 最后Return表示结束命令

另外除了快捷键(HotKey)配置, AutoHotKey 还可以配置 HotStrings,

相当于我们平时使用的 IDE 中的文本自动补全功能

在电脑右下角的脚本执行图标上右键,单击“编辑脚本”,

会弹出一个记事本程序来编辑当前运行的脚本,加入如下内容:

::hw::Hello World!

保存文件,关闭编辑器,在右下角脚本图标上右键,单击“重新加载脚本”,

然后来测试一下脚本功能,首先Ctrl+Alt+N打开记事本,

输入hw,按下Enter或Tab就会进行自动补全,用Hello World!替换hw。

特殊符号

像^表示Ctrl这种快捷键中的特殊符号,意义如下:

符号 意义
# Win(键盘上有Windows图标的键)
! Alt
^ Ctrl
+ Shift

我们除了可以像上面的一样定义全局快捷键之外,

另外还有一些用于Windows的特殊命令,可以用于定义特定窗口的快捷键,如:

  • #IfWinActive表示窗口是否处于激活状态,可以用于指定在特定窗口下可用的快捷键,

    如下脚本表示在Untitled - Notepad窗口中按下Win+P按键会弹出窗口

    提示“你按下了Win+P”

    #IfWinActive Untitled - Notepad
    #space::
    MsgBox, 你按下了Win+P
    Return
    #IfWinActive
  • #IfWinExist表示窗口是否存在

发送按键 - 一键当千

快捷键后的命令部分除了执行命令运行程序之外,还可以向电脑发送按键单击事件,

就相当于 AutoHotKey 帮你去按下按键,从而获取按下一个快捷键相当于一堆按键。

LCtrl::
Send, AutoHotKey
Return

上述命令表示按下左边Ctrl按键时会发送按键,依次按下AutoHotKey,

对于键盘上的一些特殊按键,如Ctrl等都有对应的表示,如:^表示Ctrl,

!表示Alt等等,除了这种类似快捷键特殊符号的表示,还可以使用{...}的方式来

表示,如:{lAlt}表示左边的Alt键,{F1}-{F24}表示键盘上的F1到F24键等。

; 按下Win+H就等于按下Ctrl+Alt+HOME键
#h::
Send, ^!{HOME}
Return

其实,除了^、!、+、#可以表示组合键之外,

其他的{...}形式的符号都只是按顺序敲击键盘罢了,

比如:^{HOME}表示按下Ctrl的同时按下HOME键,

而{Ctrl}{HOME}则表示按下Ctrl松开,然后按下HOME键。

若是想要实现组合键的功能,可以使用{Ctrl Down}和{Ctrl Up}这种组合,

表示按下和松开{Ctrl}键,在这两个之间的符号都会在按住Ctrl的情况下执行。

也就是说:^{HOME} = {Ctrl Down}{HOME}{Ctrl Up} != {Ctrl}{HOME}

注:支持的Send键列表见官方文档,

但是要注意的是除了官方文档提供的按键可以使用{...}形式,

其他的按键都不可以使用,如{a}就是一种错误的表达方式

另外,Send后的部分可以分多行以便于阅读,只要用括号括起来就可以:

^j::
Send,
(
Line 1
Line 2
A dobe
)
Return

参考链接:

https://autohotkey.com/docs/Tutorial.htm

AutoHotKey 快速入门的更多相关文章

  1. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  2. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  3. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  4. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  7. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  8. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. MCUXpresso release build 时提示GFLIB等函数未引用的问题

    MCUXpresso release build 时提示 GFLIB 等函数未引用的问题 最近在使用 MCUXpresso 编译工程时选择 Debug(Debug build) 能顺利编译,但是选择 ...

  2. mac下使用git的冲突的解决方案

    博主之前一直是在windows系统下进行软件代码的开发,window下有很多git的使用工具,如tortoisegit等是个很好的git项目管理工具.而再mac版下的git项目代码管理工具,本人找了好 ...

  3. JVM基础知识及拓展

    我们可以吧JVM的基本结构分为四块:类加载器.执行引擎.运行时数据区和本地接口.一般来说Java程序在JVM中的执行流程如下: ①.首先我们会利用javac命令将我们所编写的.java源代码文件变异成 ...

  4. Java设计模式(22)——行为模式之状态模式(State)

    一.概述 概念 再引用网友的说通俗一点: State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判 ...

  5. Codeforces431C_K-Tree_KEY

    题目传送门 题目大意:给定一棵K叉树,一个节点下的K个节点的分数为i,求包含大于等于D的边的总分数为N的方案总数,mod 1e9+7. 这是一道很好的树形DP题,首先看N和K两个条件,可以轻易的得到方 ...

  6. 长沙优步Uber奖励政策(7.27~8.2)

    奖励前提 *必须满足当周评分4.7星及以上,且当周接单率70%及以上,才有资格获得奖励 *当周上线时间不低于7小时 *刷单和红线行为立即封号并取消当周全部奖励! *机场高速费用不参与翻倍奖励 *早高峰 ...

  7. 第四模块:网络编程进阶&数据库开发 第2章·MySQL数据库开发

    01-MySQL开篇 02-MySQL简单介绍 03-不同平台下安装MySQL 04-Windows平台MySQL密码设置与破解 05-Linux平台MySQL密码设置与破解 06-Mac平台MySQ ...

  8. lesson 14 A noble gangster

    lesson 14 A noble gangster there was a ++time++ 时期 times 时期/年代 in times of peace a sum of + money 一笔 ...

  9. 【Python+OpenCV】人脸识别基于环境Windows+Python3 version_3(Anaconda3)+OpenCV3.4.3安装配置最新版安装配置教程

    注:本次安装因为我要安装的是win10(64bit)python3.7与OpenCV3.4.3教程(当下最新版,记录下时间2018-11-17),实际中这个教程的方法对于win10,32位又或是64位 ...

  10. java后台接收微信服务号/订阅号消息

    1.申请订阅号(适合个人)或者服务号(适合企业) 微信公众平台 2.填写配置 服务器地址: 需要接收消息 的服务端接口地址 令牌:通话识别码,随便写,后端接收时,使用一样的就可以了. 消息加密秘钥 : ...