首先它要编译.ahk后缀的脚本才能执行。脚本里再写键盘触发监听之类的逻辑。

所以并非单单只是热键启动那么简单,可以组合出复杂的功能,甚至支持正则表达式

理论上扩展性比按键精灵差,易用性大大优于按键精灵。作为一个程序员用按键精灵显然有点不合适:-)

不过ahk对中文支持不是很好,有些文字搜不到

似乎没有脚本编辑器,不过配合notepad++也不差。

双击脚本文件即可加载,如果要启动就加载,那就放到启动文件夹下

注:当你控制ATK点一下屏幕上任意面板之后,ATK取到的坐标事实上是面板的本地坐标。

编写代码时用ATK自带的windows spy来取本地坐标是多少非常方便。右键atk的图标就可以找到这个功能

1.Hellow World

试着用记事本打开一个.txt文档

#space::Run www.baidu.com

加载脚本,按win+space即可出现浏览器打开百度网址。

:: 是启动热键

常用命令

win  #

ctrl ^

alt !

Shift:+

`(1旁边那个按键) ``

tab: Send {Tab}

tab5次:Send {Tab 5}

鼠标中键:MButton

模拟按键按下2 :send, 2

发送输入:SendInput {Alt Down}{F4}{Alt Up}

执行网页或exe程序: Run,D:\qq\setup.exe

延迟1秒:sleep 1000

取剪切板 %clipboard%,用法:Run http://www.google.com/search?q=%clipboard%

系统的某些特殊文件夹被定义了相应的CLSID(请查看帮助文档),我们可利用它来打开相应的文件夹,比如打开回收站:
如:Run ::{645ff040-5081-101b -9f 08-00aa 002f 954e}

如果需要添加参数,只需直接在程序或文档的名称后面加入即可: 
Run, %comspec% /k dir, C:\My Documents

热字符串,很cool,输入缩写跳出全称,类似vs的snip : ::wjbk::维基百科,自由的百科全书

结束符
在默认状态下,输入完缩写还要按一下回车,才能帮你输入全部字符串。但也可以免去,不过方法我忘了,得百度
结束符默认是指这些字符:-()[]{}':;"/\,.?!`n `t (注意:`n代表回车,`t代表Tab,在`n和 `t之间还有一个空格)。您可以仿照下面的语句来更改这一设置:
#Hotstring EndChars -()[]{}:;'"/\,.?!`n `t ;右边的所有字符串都被定义为结束符

等待窗口系列命令:

WinWait [, 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本]
WinWait 的作用是在目标窗口出现之前不再执行后面的所有语句。

消息框:MsgBox [, 选项, 对话框标题, 对话框信息文本, 超时时间]

示例

MsgBox, , 错误, 无法进行指定操作 ;出现错误则提示用户
MsgBox, , 修改确认, 确认删除指定注册表项目?
IfMsgBox, Yes
RegDelete, HKEY_LOCAL_MACHINE, SOFTWARE\test,
IfMsgBox, No
Return

变量和条件判断

MyVar1 =
MyVar2 = my string
要对某个变量和数字/字串进行比较,请参考下面的例子:
if MyVar2 = my string
{
MsgBox MyVar2 含有字串“my string”
}
if MyVar1 >=
{
MsgBox MyVar1 含有的数值是 %MyVar1%,比100还大
}

实现类似for循环的功能

i=
loop
{
Msgbox %i%
i++
Sleep
}

获取系统时间

FormatTime, now_date, %A_Now%, yyyy/MM/dd
Send, % now_date

直接获取时间用:

%A_Now%

左键点击 MouseClick, left, 600, 10

右键点击 MouseClick, right, 600, 10

注意,后面两个参数坐标的0,0点是窗口的0,0点

按下 Send, {LButton Down}

弹起 Send, {LButton Up}

hold住某个按键一会

#space::
Send {`` down}
Sleep
Send {`` up}

鼠标移动至 moveto 166 419

循环

Loop
{
...
}

等待按键输入 KeyWait, LButton, D

关闭进程: ProcessClose("关闭进程名")

tips

如果要对原始符号转义前面加上{raw}

:: 启动热键,例:#n:: 热键就是Win+N

网上有份更全的对照表LINK

AutoHotKey入门的更多相关文章

  1. AutoHotKey 快速入门

    AutoHotKey 是一个免费的键盘宏程序,可以用于配置键盘快捷键.鼠标事件 以及摇杆事件,还可以在输入文本的时候对文本进行扩展(自动补全) 第一个脚本 新建文件test.ahk并输入以下内容: ^ ...

  2. Autohotkey window 下宏键盘、宏命令开发入门

  3. python 常忘代码查询 和autohotkey补括号脚本和一些笔记和面试常见问题

    笔试一些注意点: --,23点43 今天做的京东笔试题目: 编程题目一定要先写变量取None的情况.今天就是因为没有写这个边界条件所以程序一直不对.以后要注意!!!!!!!!!!!!!!!!!!!!! ...

  4. 第一次使用autohotkey的记录

    第一次使用autohotkey的记录 原来想着直接用python来做模拟输入的,后面查了一下发现,目前的封装的库不一定能支持输入到游戏里,是的,我是打算用来做游戏辅助的,嘿嘿嘿 暂时来讲,我只是看完了 ...

  5. aardio + AutoHotkey 混合编程

    本文主要介绍 aardio + AutoHotkey 混合编程. 在 aardio 中可以调用很多编程语言,例如 C语言.C++.C#.Java.Python.R.Javascript.Node.Js ...

  6. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  7. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  8. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  9. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

随机推荐

  1. Matlab中如何读取.dat文件

    处理movielens1M数据集 中间有个双冒号,直接用load的只读取第一列,这时候我们可以用dlmread(中间是l不是i),如下图,只需要提取1 3 5列就好了.

  2. Notepad++ v5.5以上 惯用法教程

    注:本文中为注明为自定义快捷键的,均为notepad++的默认快捷键. 0.  关闭标签页 UltraEdit是双击窗口就可以关闭,Notepad++双击不能关闭,右键只能关闭非当前标签页,那怎么办呢 ...

  3. Unity-EasyTouch插件之Two Finger

    今天,我们来学习下多手指触摸屏幕的事件,分别有挤压(缩放),挤压(旋转) 挤压(缩放): 在easytouch中,双手指挤压缩放的英文为Pinch 好了今天我们的测试是双手指挤压对物体进行缩放.我们测 ...

  4. [Android自定义控件] Android Scroller工具类和GestureDetector的简单用法

    转载:http://ipjmc.iteye.com/blog/1615828 Android里Scroller类是为了实现View平滑滚动的一个Helper类.通常在自定义的View时使用,在View ...

  5. 【转载】【Todo】电商架构相关技术分析

    看了一篇文章: http://kb.cnblogs.com/page/193670/    淘宝应对"双11"的技术架构分析 没怎么看懂,有时间再看.

  6. Unity3D新手教学,让你十二小时,从入门到掌握!(二) [转]

    版权声明:本文为Aries原创文章,转载请标明出处.如有不足之处欢迎提出意见或建议,联系QQ531193915 继续上一讲的内容,首先呢, 为了接下来要做的小游戏,在这里我要小小的修改一下移动的代码. ...

  7. Android(Fragment和Activity之间通信)

    Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现. 一.Acti ...

  8. ExportAsFixedFormat Visio文件另存为其他几种格式的处理

    Visio文件另存为其他几种格式的处理,以及另存为Web文件等相关操作. 1.Visio导出为PDF格式 在一般情况下,PDF格式是较为常用的内容格式,因此Visio文档(Vsd格式)导出为PDF也是 ...

  9. Browsers 之 弹出窗口阻止问题

    主要关注两个地方: 1.Microsoft Edge 浏览器: 浏览器 “ 设置 → 查看高级设置 ”,找到 “ 阻止弹出窗口 ”,关闭. 2.IE浏览器 [1] “ 工具 → 弹出窗口阻止程序 ”, ...

  10. 算法笔记_081:蓝桥杯练习 算法提高 矩阵乘法(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最 ...