AutoHotKey 常用命令及示例

本文详细介绍AutoHotkey脚本的编写技巧,包括循环、条件判断、窗口操作、鼠标键盘控制、热键设置等核心功能,适用于自动化任务、增强用户体验等场景。

颚化符::(~) 

一、示例(自动打开QQ声音)

Loop ;循环体

{

WinWait, 与 qq009 交谈中,

IfWinNotActive, 与 qq009 交谈中, , WinActivate, 与 qq009 交谈中,

WinWaitActive, 与 qq009 交谈中,

Controlclick, Button36 ;接受请求

Sleep, 500

Control, Check, true, Button34 ;打开声音

Sleep, 100

}

return

 

二、常用命令        

 

1、MsgBox命令有几种格式?

MsgBox, 文本 或 MsgBox [, 类型,标题, 文本, 显示时间 ]

 

2、MsgBox命令按钮有几种类型?

OK—0 

OK/Cancel—1

Abort/Retry/Ignore—2

Yes/No/Cancel—3

Yes/No—4

Retry/Cancel—5

Icon Hand (stop/error)—16

Icon Question—32

Icon Exclamation—48

Icon Asterisk (info)—64

Make 2nd button the default—256

Make 3rd button the default—512

System Modal (always on top) —4096

Task Modal—8192 这些参数允许相加而得到复合效果。

 

3、显示含有yes/no按钮并总在顶端的对话框?

msgbox,4100,标题,内容

 

4、MsgBox如何换行?

MsgBox,你好,欢迎关注静海安澜阁 `n 请继续关注

 

5、如何对MsgBox命令的选择结果进行处理?

IfMsgBox, ButtonName

ButtonName可选项: Yes No OK Cancel Abort Ignore Retry Timeout

 

6、对话框显示时间,并以秒为单位?

msgbox , , 标题 , 内容 , 5

 

7、运行外部可执行程序或者直接打开文件?

Run, 目标文件[ , 工作目录 , Max|Min|Hide|UseErrorLevel , 输出PID 变量]

 

8、如何运行记事本并以最大化状态显示?

Run, Notepad.exe , , Max

 

9、如何直接打开文件?

Run, MyFile.txt

 

10、命令行解释器cmd.exe 用那个宏来表示?

%ComSpec% /k在执行完命令后保留命令提示窗口,而/c则在执行完命令之后关闭提示窗口

 

11、命令“dir c:\Windows\system32”如何实现?

Run, %ComSpec% /k dir c:\Windows\system32

 

12、如何打开网页?

Run, http://hi.baidu.com/xuejinglan

 

13、如何打开系统属性窗口?

Run control sysdm.cpl 需要的话可以搜索所有的*.cpl文件

 

14、打开控制面板?

run,control

 

15、如何打开搜索窗口且指定搜索位置?

Run, find C:\

 

16、如何显示指定文件的属性窗口?

Run, properties MyFile.txt 注意:AHK 在退出前将自动关闭打开的属性窗口!

 

17、如何打印指定文件?

Run, print MyFile.txt

 

18、等待窗口出现、被激活、被关闭用那些命令?

WinWait/WinWaitActive/WinWaitClose

 

19、如何使目标窗口出现之前不执行后面语句?

WinWait [, 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本]

 

20、如何使目标窗口成为活动窗口?

WinActivate [,窗口标题, 窗口文本, 排除标题, 排除文本]

 

21、关闭窗口有几种方式?

正常关闭窗口(WinClose ),强行关闭窗口(WinKill):

WinClose/WinKill [ , 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本]

 

22、同名窗口使我们无法用窗口标题准确标识窗口,如何使用窗口ID来准确定位窗口?

使用获得窗口句柄的命令WinGet

WinGet[, 输出变量, CMD, 窗口标题, 窗口文本, 排除标题, 排除文本]

 

23、如何用窗口ID来替代窗口标题?

ahk_pid %ThisPID%

 

24、那个命令把鼠标点击事件发送到目标窗口的目标控件上?

ControlClick [, 目标控件或坐标位置, 窗口标题, 窗口文本, 鼠标按钮, 点击次数, 选项, 排除标题,排除文本]

 

25、ControlClick命令中,目标控件参数主要是什么?

目标控件参数是指要点击的控件的类别名(ClassNN)或控件文本,还可以使用控件句柄(若用的是控件句柄则第一个参数需留空,

 

并在第二个参数中使用ahk_id %控件句柄%)。

 

 

27、鼠标单击系统属性确定按钮代码是?

ControlClick, 确定, 系统属性

ControlClick, Button2, 系统属性

 

28、目标窗口或控件是隐藏状态,ControlClick还可以点击目标控件吗?

可以点击目标控件,但不能保证成功率。

 

29、如何设置控件文本?

ControlSetText [, 目标控件, 新文本, 窗口标题, 窗口文本, 排除标题, 排除文本]

例如:ControlSetText, Edit1, D:\foobar2000, Setup foobar

 

30、如何选中和取消单选框和复选框项目中的选择项目?

Control [, 命令, 值, 目标控件, 窗口标题, 窗口文本, 排除标题, 排除文本]

其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令是“Check”和“UnCheck ”。

 

例如:Control, Check, , Button5, foobar

Control, UnCheck, , Button7, foobar

 

31、如何选择下拉列表的项目?

仍是使用Control命令,适用的命令是“Choose, N”和“ChooseString, String”,分别表示选中第N个项目和选中与字符串String

 

匹配的项目;例如:

Control, Choose, 5, ComboBox1, Installer

Control, ChooseString, 简体中文, ComboBox1, Installer

 

33、字符串如何进行自动替换?

::is::island of resistance或者

::china::

Clipboard=中华人民共和国

send,^V

Return

 

34、屏蔽或开启键盘、鼠标?

BlockInput 命令后,紧跟on,则屏蔽键盘鼠标操作,紧跟off,则重新启用用户输入。

如何仅仅屏蔽鼠标?如何恢复? BlockInput,MouseMove 恢复为:BlockInput, MouseMoveOff

 

35、如何建立一个弹出式窗口例示文本?如何关闭?

SplashTextOn [, 宽度, 高度, 标题, 文本]

`n 可以在MsgBox和SplashTextOn等命令中对显示的文本进行换行。

SplashTextOff 为关闭SplashTextOn命令建立的弹出式窗口。

 

36、如何将一系列指令重复执行指定次数? Loop [, Count]

{

循环体……

}

 

37、Loop中的count允许是表达式或者变量吗?

Count不允许是表达式,但允许是一个变量。

如何知道loop现在循环到第几次? loop 指令隐含有一个变量 A_Index ,用来记录当前状态是第几次循环

 

38、如何中断循环?

if a_index > 25

break ; 中断循环

 

39、如何跳过本次循环?

if a_index < 20

continue ; 跳过本次循环,开始一次新的循环

 

40、如何使使脚本等待指定时间?

Sleep,时间 单位为毫秒

 

41、如进行数学运算,使用什么符来把表达式运算的结果赋予某变量?

使用冒号等号符。如:NetPrice := Price * (1 - Discount/100)

 

42、i := i+1 的简化写法是什么?

i + =1

 

43、如何获取指定区间的随机数?

Random, 输出变量 [, 最小值, 最大值]

 

44、如何从指定文本中读取指定行?

FileReadLine, 输出变量, 文件名, 行数

 

45、如何判断文本超出边界?

ErrorLevel 是命令内置的一个变量,当读取文件超出边界时将被赋值为1.

 

46、ErrorLevel 为0和1时一般代表什么?

一般情况下,为0代表操作成功,为1,代表操作失败。

 

47、一般情况下,编写弹出式菜单代码的顺序是什么?

1、先定义子菜单项;2、编写菜单项;3、编写令菜单显示的代码;4、编写删除代码;5、编写响应代码。

 

48、如何添加子菜单?

Menu,add,子菜单项,:子菜单变量如:menu,mymenu,add,常用程序,:amenu

 

49、用来在弹出式菜单中显示一条分割线的代码是?

Menu, MenuName, add

 

50、正常菜单项的代码是?

Menu, MenuName, add,菜单项,响应标志

 

51、响应代码的格式是?

响应标志:

响应代码……

return

 

52、形如:Menu,amenu,add,txt 的代码是什么意思?

它其实是Menu,amenu,add,txt,txt 的一种简写,代表菜单项和响应标志

 

53、在指定坐标处显示菜单项的代码是?

Menu,MenuName,show,X坐标,Y坐标 如省略坐标,则在鼠标当前位置显示菜单项。

 

54、如何指定显示菜单的背景色?

Menu,MenuName,color,颜色代码

 

55、删除所有菜单的代码是什么?有什么作用?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴国进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值