AutoHotkey入门 ~ Windows下自动化脚本
本文最后更新于:2020年8月4日 晚上
概览:自动化脚本AutoHotket语言相关基础知识。
关于AutoHotKey
Windows的终极自动化脚本语言。
官网: https://www.autohotkey.com/
使用AutoHotKey这个脚本语言可以很迅速方便的创建Windows下的便捷操作。例如一键打开多个网页,一键代替多个操作步骤。化繁为简,非常的方便好用。
安装
在上述官网下载当前版本
即Current Version
下载,我当前使用的版本还是1.xx的。
下载后自行安装即可。
新建脚本与运行
鼠标右键 –> 新建,就能看到一个AutoHotkey script
的选项,点击即可新建一个脚本。
对这个脚本右键选择用文本编辑器打开即可。
默认文件会有几行注释以及一些代码,没太搞懂啥意思,直接删掉脚本也能正常使用。
在其中填入要执行的脚本代码,例如下面的入门代码#space::Run www.baidu.com
。保存文件之后,双击脚本或者右键选择Run Script
,脚本就会被执行,如果你的脚本编写有语法错误的话,会直接弹出提醒。
脚本运行的话,你的状态栏那里就可以看到这个软件的图标。当你不需要运行这个脚本时,右键图标选择关闭退出即可。
除此之外还有脚本转.exe
,自行探究~
入门学习相关资料
中文在线API: https://wyagd001.github.io/zh-cn/docs/AutoHotkey.htm
此外,安装软件之后也会自带帮助文件chm
,与exe
文件放在一起,可自行查看,不过那是英文版本。
除此之外,我还在知乎看到一位作者在分享他写好的一些脚本,涵盖面非常的广,链接:https://zhuanlan.zhihu.com/p/103357456
以下内容是我在接触脚本时做的一点笔记,不太完整,并且比较杂乱。主要参考了上面的中文在线API链接。
入门第一行
1 |
|
- 这行代码表示同时按下Win+空格,浏览器就会自动打开百度的网址。
#
代表Windows键,space
表示空格键,组合起来表示Win+空格。::
双冒号表示,每次按下热键会执行其后面的操作。Run
命令后可以接程序、文档、URL或者快捷方式,这里后接网址会自动打开默认浏览器打开网址。
1 |
|
- 上述这种叫做热字串,当输入btw后面跟着空格或者逗号时,会自动将btw替换为by the way。
其他符号
^
:表示Control
,!
:表示Alt
键。+
:表示shift
。
1 |
|
RunWait
:与Run类似,表示脚本等到程序或者文档结束之后才能执行热键
发送键击
send
命令可以发送键击到活动窗口(最前面的窗口)中。
1 |
|
这段命令是,向当前的文本编辑器中输入两句话,{Enter}
表示模拟按下回车键,{Tab}
表示模拟按下缩进键。
鼠标点击
发送鼠标点击到窗口。
使用Window Spy来获取目标窗口中的位置,相对当前窗口左上角的位置。
然后再Click x,y
,模拟鼠标左击即可。
Click里不支持表达式,对于变量来说,变量要加百分号。
激活与操作窗口
激活窗口就是指使窗口位于最前边,可使用WinActivate
IfWinActive
:检查指定的窗口是否活动,后接窗口标题。
IfWinNotActive
:
1 |
|
WinWaitActive
:等待指定窗口变为活动窗口。
WinClose
:关闭指定窗口
WinMove
:改变指定窗口的位置和/或大小。
WinMinimize
, WinMaximize
, WinRestore
分别最小化, 最大化或还原指定窗口.
获取用户输入或者提示
MsgBox
:用于显示提示框
InputBox
:提示用户输入字符串。
1 |
|
变量
变量是脚本用来存储文本或数字的内存块. 只包含数字的变量 (可以含小数点) 在数学运算或比较时会被自动转换为数字.
除了函数中的局部变量外, 所有的变量都是全局的; 即可以在脚本的任意位置读取或改变它们的内容. 此外, 变量不需要声明; 简单地使用它们就可以让它们存在 (且每个变量都以空或空白开始).
1 |
|
%MyVar1%
用百分号包含变量,用于显示变量的内容。MyVarConcatenated = %MyVar1% %MyVar2%
则字符串为123 my string
使用if
来比较两个变量的内容。
1 |
|
注意上面例子的首行包含小括号. 小括号表示这个 if 语句包含表达式. 如果没有它们, 那行将被视为 “非表达式 if 语句”, 并且因此需要使用百分号括住 ItemLimit (这样的 if 语句被限制为只能包含简单的比较运算符, 而不能包含数学运算符或像 “AND” 和 “OR” 这样的联合运算符).
数学
赋值::=
,冒号等号运算符
1 |
|
剪贴板
Clipboard
变量是特殊变量, 因为它包含了 Windows 剪贴板
中当前的文本. 即使如此, 它的用法也和普通变量一样.
1 |
|
替换剪切板内容
1 |
|
- ``r`加上n表示回车+换行。
追加剪切板内容,就像变量一样
1 |
|
循环
1 |
|
当一个或多个条件改变时循环还可以终止它自己. 下面的例子中当用户按住 F1 键时会重复点击鼠标左键:
1 |
|
while循环:
1 |
|
操作文件
要添加文本到文件的末尾 (或创建新文件), 请使用 FileAppend, 如下面的例子所示. 注意它使用 `n (换行符) 来开始新的文本行:
1 |
|
要覆盖现有的文件, 请在 FileAppend 之前使用 FileDelete. 例如:
1 |
|
数组
1 |
|
图片识别
1 |
|
- 如果找到了图片,FoundA与FoundB用来存储坐标。
- 0,0 表示起始的左上角的位置
- A_ScreenWidth, A_ScreenHeight表示右下角的坐标
- 最后一个参数是路径
- 如果找到了图片,ErrorLevel就为0.
语法
命令和变量不区分大小写
命令中的第一个逗号可以省略,特殊请矿除外(首个参数为空,以
:=
或者=
开始,或者命令单独处于延续片段的顶部)。1
2MsgBox This is ok.
MsgBox, This is ok too.时间
A_Now
是当前系统时间
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!