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、删除所有菜单的代码是什么?有什么作用?

Menu,mymenu,deleteall

如果没有这句代码,代码中分割线会在菜单重显时翻倍。如无分割线,可免

 

56、重启、关闭、注销系统的指令是什么?

Shutdown 后跟0为注销1为关机,2为重启,4为强制关闭 8为关闭关闭电源

 

57、隐藏脚本图标有几种方法?

Menu , tray , noicon 或者#NoTrayIcon

 

58、显示脚本图标的代码?

Menu , tray , icon

 

59、脚本图标的气泡提示如何显示?

Menu , tray , tip , 我自己的脚本

 

60、如何设置脚本的图标?

Menu , tray , icon , %systemroot%\system32\shell32.dll ,22或者Menu , tray , icon , e:\ico\1.ico

 

61、如何利用快捷键退出脚本?

#x::ExitApp

 

62、如何移除托盘图标的所有标准菜单项?

Menu , tray , NoStandard

 

63、如何插入托盘图标菜单?

Menu , tray , add , myitem

 

64、如何显示托盘图标的标准菜单项?

Menu , tray , standard

 

65、在托盘图标显示一个二级菜单代码如何表示?

menu,mymenu,add,boke

menu,mymenu,add,luntan

menu,tray,add,相关网站,:mymenu

Return 注意:响应标志后是 :不是::

 

66、如何使非热键类的脚本持久运行?

#Persistent

 

67、显示一个标准的文件选择对话框的代码为?

FileSelectFile, OutputVar [, Options, RootDir, Prompt, Filter]

Option 参数如被省略,则为单选。M 多选,M后允许随意跟随一个数字。S: 显示保存对话框。数字为一般为3,即文件及路径必须存在。Filter 参数格式如:Example: Audio (*.wav; *.mp2; *.mp3)

 

68、FileSelectFile命令如用户选择了多个文件,输出变量如何分割?

输出变量用(`n)字符分割。第一个参数为路径,随后紧跟选定的各个文件名。

if files =

{

MsgBox, 用户放弃选择。

}

Loop, parse, files, `n

{

if a_index = 1

mypath = %A_LoopField%

else

{

runwait, %mypath%\%A_LoopField%

}

}

return

 

69、运行并等待程序完成的指令是?

runwait

 

70、从某字符串中逐次分解出一个个的子串。

Loop, Parse , 某字符串 , 用于分割的特征变量

 

71、用对话框显示音量递增10%?

MsgBox, 音量递增10`%

 

72、使静音或者取消静音状态?

SoundSet, +1, , mute 或者Send,{Volume_Mute}

 

73、使主音量提升(降低)10%?

SoundSet ,+(-)10, MASTER

 

74、使音量中波形音量提升(降低)10%?

SoundSet , +(-)10, WAVE

 

75、#NoEnv 作用是什么?

主要是为了与以后兼容,也可以改善性能

 

76、如何对某些多媒体功能键重定义?

建个脚本内容为#InstallKeybdHook并执行,双击图标,窗口中选择菜单 view 第四项 key 开头的然后按多媒体键,f5刷新,看第二列内容比如a,显示的值是01e 。使用时就是sc01e::msgbox

 

77、显示器的宽度和高度用那两个常数表示?

A_ScreenWidth 和 A_ScreenHeight

 

78、如何移动鼠标光标?

MouseMove, X, Y [, Speed, R] Speed 参数的范围在 0 (最快) to 100 (最慢)之间取值.

R 参数 如果有此参数,则鼠标移动将以当前位置为基准,进行 x 和 y 像素的位移.

 

79、如何获取当前鼠标坐标?

MouseGetPos, X, Y

 

80、MouseGetPos还有什么作用?

MouseGetPos 指令用来返回鼠标的当前位置,以及鼠标当前悬停的窗口和控件。格式为:

MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl

OutputVarWin 这个变量存储了当前鼠标悬停的窗口的ID ,即使窗口未处于激活状态。OutputVarControl 这个变量存储了当前鼠标悬停的控件的名称(ClassNN)。

 

81、MouseGetPos 命令在最后有1、2、3参数是什么意思?

1:在多文档界面程序(例如 SysEdit 或 TextPadThis )中可以准确的获取激活或置顶的子窗口信息。对其它情况就不那么准确了。2 :在 OutputVarControl 中存储 control's HWND/窗口句柄。3 :同时包含 1 和 2 的功能。

 

82、如何在屏幕上建立一个紧随鼠标的弹出式窗口?

ToolTip [, Text, X, Y]

 

83、如何获得当前位置像素的颜色RGB的值?

PixelGetColor, OutputVar, X, Y [, RGB] 

 

84、如何在系统托盘建立一个弹出式窗口?

TrayTip [, Title, Text, Seconds, Options] 注意senconds的取值一般在10到30之间

 

85、如何用指定时间间隔自动或重复激发某子程序?

SetTimer , Label , 时间间隔

 

86、关闭某进程的代码是?

Process,close,autohotkey.exe

 

87、如何检索鼠标所在位置的信息?

MouseGetPos , , , id , control ; 得到鼠标所在位置窗口的id及控件名称

WinGetTitle, title, ahk_id %id% ;检索到相应id对应窗口的标题

WinGetClass, class, ahk_id %id% ;检索到相应id对应窗口的类名

 

88、如何得到当天的日期?

dd = %A_YYYY%年%A_MM%月%A_DD%日

 

89、如何给剪贴板赋值?

clipboard = %var%

 

90、当前桌面那个常数表示?

%A_Desktop%

 

91、如何设置鼠标速度?

SetDefaultMouseSpeed 30; 默认的是2 ,可以从0调到100,越小越快

 

92、如何设置鼠标动作结束之后的延迟?

SetMouseDelay 30; 默认是10毫秒

 

93、如何实现ctrl+鼠标双击?

send ^{click 100,200 2}

 

94、使滚轮向上滚2次?

click wheelup 2 ; wheelup 可以写成WU

 

95、滚轮向下滚一次?

click wheeldown ;wheeldown 可以简化为WD

 

96、使鼠标滚轮向下滚5次有几种方法?

Click , WD,5或

loop 5

click WD

 

97、当前位置鼠标单击左键

click ;

right 右键,left左键(默认可省略),middle 中键

 

98、当前位置鼠标双击左键?

click 2

 

99、移动鼠标到30,40?

click 30 , 40 , 0

 

100、点击鼠标右键的代码如何编写?

Click , 100 , 200 , right

 

101、如果鼠标点击的坐标是动态的如何表达?

Click %x% %y%

 

102、拖动某图标?

click 30,40 down

click 50,60 up

 

103、如何设置一个进度条?

Progress , %i% , 进度条下文本 , 进度条上文本 , 标题

 

104、如何创建快捷方式?

FileCreateShortcut, 目标文件, 快捷方式名 [, 工作目录, 用空格分开的参数, 描述, 图标, 快捷键, 图标标号, 运行状态]

注意:只需指定单个按键,所有的快捷键被指定为 CTRL+ALT + 快捷键,如果给该参数指定 B,将会产生一个 CTRL-ALT-B 的快捷键。运行状态1 - 正常(默认)3 - 最大化7 - 最小化

 

105、空格键

{space}

 

106、向左的箭头

{Left}

 

107、ctrl键?

^

 

108、alt键?

!

 

109、回车?

{enter}

 

110、小键盘的1?

Numpad1

 

111、Windows键?

#

 

112、Shift键?

+

 

113、逻辑与,把多个按键或鼠标组合成一个自定义键?

&

 

116、通配符,表示热键被按下时,即使同时还有其他的按键按下,依然有效?

*

 

117、热键被触发后,动作不会被阻塞(例如Space & n; 会先输入一个空格,再删除)

~

 

 

120、仅在notepad中交换a、b键?

#IfWinActive ahk_class Notepad

a::b ;

#IfWinActive ;

 

121、鼠标定义?

LButton RButton MButton WheelDown WheelUp

 

124、函数?

Add(x, y)

{

return x + y ; "Return" expects an expression.

}

函数调用时,变量的后面使用 := 例如:Var := Add(2, 3) ;

由于一个函数调用就是一个表达式,所以函数的参数列表里面的变量前面不能加百分号“%”,相反的,字符串要使用引号。当一个命令的参数调用函数的时候,如果命令的参数不支持表达式,就必须使用百分号“%”,如:

MsgBox % "The answer is: " Add(3, 2)

 

125、如果要想在热字符串替换后加上空格?

在语句的后边加上 `,:*:btw::By the way `

 

126、弹出光驱

Drive, Eject,, 0

 

127、收回光驱

Drive, Eject,, 1

 

128、使窗口透明,值在1-255之间?

WinSet, Transparent, 100,我的电脑

 

129、创建或更新启动界面?

SplashImage,d:\1.jpg,b fs18

Sleep,5000

b fs 18 可以去除界面边框。原因不明

 

131、打开/激活记事本

IfWinExist 无标题 - 记事本

{

WinActivate

}

Else

{

Run Notepad

WinWait 无标题 - 记事本

WinActivate

}

 

132、隐藏任务栏 WinHide ahk_class Shell_TrayWnd

显示任务栏 WinShow ahk_class Shell_TrayWnd

 

133、如何强制单线程?

#SingleInstance force

 

134、屏蔽Ctrl+Alt+Del?

Regwrite,REG_SZ,HKEY_LOCAL_MACHINE,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe, Debugger, Hotkey Disabled

解除屏蔽 RegDelete,HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe

 

135、双击启动A程序.再双击,自动关闭A程序.

ifexist, 程序窗口标题

winkill, 程序窗口标题

else

run, 程序文件路径

return

 

136、当前窗口始终置于顶层?

WinSet AlwaysOnTop, on, A

 

137、关闭当前窗口置于顶层状态?

WinSet AlwaysOnTop, off, A

 

138、窗口还可以用表示?

ahk_class class、ahk_pid %PID%、ahk_id %ID%

 

139、音乐播放或暂停?

Send , {Media_Play_Pause}

 

140、音乐播放停止?

Send , {Media_Stop}

 

141、播放上一首?

Send , {Media_Prev}

 

142、播放下一首?

Send , {Media_Next}

 

143、按下浏览器回退键?

Send , {BROWSER_BACK}

 

144、按下浏览器 向前键?

Send , {BROWSER_FORWARD}

 

145、按下浏览器刷新键?

Send , {BROWSER_REFRESH}

 

146、按下浏览器停止键?

Send , {BROWSER_STOP}

 

147、按下浏览器搜索键?

Send , {BROWSER_SEARCH}

 

148、按下浏览器收藏键?

Send , {BROWSER_FAVORITES}

 

149、按下浏览器主页键?

Send , {BROWSER_HOME}

 

150、使静音?

Send , {VOLUME_MUTE}

 

151、降低音量?

Send , {VOLUME_DOWN}

 

152、提升音量?

Send , {VOLUME_UP}

 

153、打开邮件程序?

Send , {LAUNCH_MAIL}

 

154、打开播放器?

Send , {LAUNCH_MEDIA}

 

155、如何对字符串中某字符进行替换?

StringReplace,CodeString, CodeString, 被替换 , 替换, All

 

156、鼠标光标的状态用那个常数表示?

% A_Cursor %

 

157、当前脚本的运行路径用那个常数表示?

%A_WorkingDir%

 

158、常用判断语句运行失败的代码是?

if ErrorLevel

break

 

159、如何令鼠标进行相对移动?

在Click命令后使用Rel或者Relative参数,如:Click , 100 , 55 , rel

 

160、如何模拟Shift + 点击?

Send +{Click 100, 200}

 

161、如何模拟Ctrl +右键点击?

Send ^{Click 100, 200, right}

 

 

163、如何确定是否删除首位空格和Tab的设置?

判断% A_AutoTrim% (On 或者Off )

 

164、单个空格和单个Tab用哪个常量表示?

% A_Space % 和 % A_Tab %

 

165、"Var1 = %Var2%" 表达式中自动省略 Var2 中首尾的空格和Tab 用哪个命令实现?

AutoTrim, On 

 

166、点击或按住一个鼠标按键,或者滚动鼠标滚轮除了Click外还有哪个?

MouseClick [, WhichButton , X, Y, ClickCount, Speed, D|U, R]

 

167、鼠标滚轮:WU 向上滚动, WD 向下滚动滚轮,后续的 ClickCount 参数表示滚动滚轮的次数。ClickCount如省略,则默认点击1 次。D = 按住鼠标按键不放;U = 释放鼠标按键;R 相对移动

 

168、Mouse 开头的函数中WhichButton有那些选择?

WhichButton :Left/左键,Right/右键,Middle/中键滚动

 

169、Mouse 开头的函数中Speed 有那些选择?

Speed 鼠标移动的速度,从 0(最快)到 100(最慢)

 

170、点击并按住指定的鼠标按键,移动鼠标到目标位置,释放鼠标按键?

MouseClickDrag, WhichButton, X1, Y1, X2, Y2 [, Speed, R]

X1, 起始位置 X2, Y2 目标位置坐标 R 相对移动

 

171、WinWaitActive,ahk_class MSPaintApp,, 2中最后2代表什么?

超时时间,秒为单位

 

172、ELSE后可跟什么命令?

任何单个命令都能和一个ELSE命令在同一行。如其后拥有多行,那些行必须被括入大括号。但是如果只有一行属于一个IF或一个ELSE命令,那么大括号是可选的。

 

173、无条件地终止脚本用哪个命令?

ExitApp 脚本将立即被终止,如果脚本有 OnExit 子程序,它将响应ExitApp而运行。

如:onexit,a

s::ExitApp

a:

msgbox,kk

Return

 

174、如何删除一个或多个文件?

FileDelete, FilePattern。FilePattern 单个文件的名称或一个像C:\Temp\*.tmp这样的通配符样式。如果绝对路径没被指定,FilePattern 会被假设在 %A_WorkingDir% 。

 

175、移除包含子文件夹和文件的整个文件夹?

FileRemoveDir,DirName

 

176、如何移除只读属性

FileSetAttrib, -R, C:\My File.txt

+ 增加属性- 取消属性^ 设置增加取消开关R = 只读A = 存档S = 系统H = 隐藏N = 普通 O = 脱机 T = 临时

 

177、跳到指定的标签并且继续执行?

Gosub, Label 。Label 跳转的标签、热键标签 或者 热字串标。Return脚本跳回Gosub下首个命令并继续执行。Exit终止当前的线程。

 

178、标签可以是变量吗?

Label 可以是一个 变量 如 %MyLabel%,如果Label不存在,将显示一个错误对话框。

 

179、哪个函数可以检验标签是否存在?

IsLabel(标签名) 如:

if IsLabel(VarContainingLabelName)

Gosub %VarContainingLabelName%

 

180、显示一个输入对话框,接受用户输入的数据?

InputBox, 输出变量 [, 标题, 提示文本, HIDE, 宽度, 高度, 横坐标, 纵坐标, 必须留空, Timeout, Default]

HIDE 如果这里使用单词 HIDE ,那么用户的输入内容会被隐藏。这在输入密码的时候很有用。Timeout 超时时间,单位是秒。Default 输入对话框出现时默认出现在输入框中的数据。

 

181、检查文件或文件夹或驱动器是否存在?

IfExist, FilePattern或者IfNotExist, FilePattern 如:

IfExist, D:\

MsgBox, 驱动器存在。

 

182、从一个字符串的左边或右边开始提取一定数量的字符用那个命令?

左边:StringLeft, OutputVar, InputVar, Count

右边:StringRight, OutputVar, InputVar, Count

Count 需要提取的字符数量,OutputVar 可以和 InputVar 相同。

 

183、如何获取字符串长度?

StringLen , OutputVar , InputVar InputVar 需要统计长度的字符串变量名。

 

184、如何将某字符串中的英文字母全部转换为大写或小写?参数中的T有什么作用?

小写:StringLower, OutputVar, InputVar [, T]

大写:StringUpper, OutputVar, InputVar [, T]

T 如果这个参数使用字母 T ,字符串将被转换为标题格式。

 

185、如何判断某字符串是否全部是大写或小写字母?

可以使用“if var is [not] upper/lower”。

 

186、如何从字符串中指定的位置返回一个或多个字符?

StringMid, OutputVar, InputVar, StartChar [, Count , L]

StartChar 提取的起始位置,Count如省略或留空,默认是一个足够存储所有字符的值。否则,该参数表示需要提取的字符数量,L从 StartChar 开始向左边提取字符

 

187、如何对字符串中指定的子字符串进行替换?

StringReplace, OutputVar, InputVar, SearchText [, ReplaceText, ReplaceAll ]

SearchText 被替换的文本,不区分大小写。ReplaceText 替换的文本。ReplaceAll如省略,只有第一个匹配 SearchText 的子字符串会被替换。如果这个参数是 1 、A 或者 All ,则所有匹配的子字符串都将被替换。如果这个参数是 UseErrorLevel 将在ErrorLevel中存储被替换的子字符串的数量

 

188、如何在剪贴板中移除换行?

StringReplace, clipboard, clipboard, `r`n, , All

 

189、如何从字符串的左边或右边移除指定数量的字符?

左边:StringTrimLeft, OutputVar, InputVar, Count 右边:StringTrimRight, OutputVar, InputVar, Count

 

190、写入一个值到注册表中用那个命令?

RegWrite, ValueType, RootKey, SubKey [, ValueName, Value]

 

191、从注册表中读取一个值用那个命令?

RegRead, OutputVar, RootKey, SubKey [, ValueName]

 

192、从注册表中删除一个子键或一个值用那个命令?

RegDelete, RootKey, SubKey [, ValueName]

 

193、ValueType有那些可选项?

只能是 REG_SZ ,REG_EXPAND_SZ ,REG_MULTI_SZ ,REG_DWORD 或者 REG_BINARY

 

194、RootKey 有那些可选项?

只能是HKEY_LOCAL_MACHINE 、HKEY_USERS 、HKEY_CURRENT_USER 、HKEY_CLASSES_ROOT 、HKEY_CURRENT_CONFIG 其中之一(或者它们的缩写,例如 HKLM )。要访问远程注册表,在前面加上电脑名和一个冒号,例如:\\workstation01:HKEY_LOCAL_MACHINE

 

195、SubKey代表什么含义?

子键的名字如 Software\SomeApplication。如果 SubKey 不存在,将会在它的父类之下自动创建。如留空,将把值直接写入到 RootKey 中

 

196、ValueName 代表什么?

需要写入值的项的名称。如果留空或省略,默认修改的是 Subkey 的默认值,也就是在 RegEdit 中显示为“(Default)/默认”的值

 

197、Value 代表什么? 需要写入的值。如省略,默认是一个空字符串,或 0

 

198、IfEqual, var, value 等同于? if var = value

 

199、IfNotEqual, var, value 等同于? if var <> value) (!= 能用来替代 <>)

 

200、IfGreater, var, value 等同于? if var > value

 

201、IfGreaterOrEqual, var, value等同于? if var >= value

 

202、IfLess, var, value 等同于? if var < value

 

203、IfLessOrEqual, var, value 等同于? if var <= value

 

204、If var 代表什么? 如果变量的内容为空或是 0 ,那么它被认作 false。否则,将为 true。

 

205、检查一个变量是否在两个 values 之间用那个命令?

if var [not] between LowerBound and UpperBound

 

206、如何检查某变量是否存在于一个 values 列表内部?

if var [not] in value1,value2

if Done If ……if else ……if else 语句完毕

 

207、如何使指定窗口最大化?

WinMaximize [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

208、如某特定窗口没有准确地对WinMaximize 做出反应怎么办?

PostMessage, 0x112, 0xF030,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF030 = SC_MAXIMIZE此命令仅运作在匹配的最前端窗口上

 

209、用那个命令检索目标窗口有输入焦点的控件?

ControlGetFocus, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]

OutputVar 存储控件标识符的变量名称,如 Button12。

 

210、如何防止当前线程被其他线程中断?

Critical [, On | Off] 如参数被省略或是 On,则当前的线程不会被其他线程中断。如是Off,则可中断。

 

211、如何取得谋控件的位置和大小?

ControlGetPos [, X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]

X, Y 是控件左上角坐标。如省略坐标将不被储存。Width/Height 是控件的高和宽。Control 控件的名称/文本或 ClassNN (控件的类名和序号)

 

213、是否允许某脚本重复次运行?(实测 win10 上不管用,win7可以)

#SingleInstance [force|ignore|off] 参数 FORCE 将跳过对话框,并自动地替换旧的实例,实际上同 Reload 命令相似。参数IGNORE 将跳过对话框,并让旧的实例运行。单词 OFF 允许多个脚本实例同时运行。如参数被省略,将显示一个对话框,询问是保持旧的实例还是使用新的实例来替换它。

 

215、哪个命令用来等待匹配指定条件的窗口被关闭?

WinWaitClose [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]

 

216、如何调用窗口菜单项?

WinMenuSelectItem, WinTitle, WinText, Menu [, SubMenu1, SubMenu2, SubMenu3, SubMenu4, SubMenu5, SubMenu6, ExcludeTitle, ExcludeText]

 

217、在WinMenuSelectItem命令中Menu参数代表什么?

Menu 是顶级菜单的名称,例如 File、Edit等,SubMenu1 需要选择的菜单的名称或位置,SubMenu2 如果 SubMenu1 本身还有子菜单,那么这个参数就是子菜单项的名称或位置。以此类推。也可以使用 1& 表示第一个菜单项,2&表示第二个菜单项。

 

218、用那个命令强制关闭窗口?

WinKill [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]

 

219、WinKill命令中SecondsToWait参数有何含义?

如果省略或留空,命令完全不会等待。如果使用 0 ,会等待 500ms 。否则,它会等待指定的时间(可以包含小数点或者是一个 表达式 )来让窗口彻底关闭。

 

220、隐藏/显示指定窗口的命令是?

WinHide/WinShow [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

221、最小化指定窗口到任务栏的命令是?

WinMinimize [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

222、如果某些窗口不能正确响应 WinMinimize ,可以尝试使用脚本?

PostMessage, 0x112, 0xF020,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND ,0xF020 = SC_MINIMIZE 这个命令只对匹配窗口中处于最前端的进行操作

 

223、激活最底端的窗口的命令是?

WinActivateBottom [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

224、关闭指定窗口的命令是?

WinClose [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText] 或者是PostMessage, 0x112, 0xF060,,,WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE

 

225、等待指定窗口处于激活或未激活状态的命令是?

WinWaitActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]

WinWaitNotActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]

Seconds 超时时间。留空表示无限等待。指定 0 等同于 0.5 。

 

226、等待指定窗口出现的命令是?

WinWait [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]  

 

227、改变指定窗口的标题的命令是?

WinSetTitle, NewTitle 或WinSetTitle, WinTitle, WinText, NewTitle [, ExcludeTitle, ExcludeText]

NewTitle 目标窗口的新标题。如果只有此参数,默认是上一次匹配窗口 。

 

228、最小化或还原所有窗口的命令是?

WinMinimizeAll / WinMinimizeAllUndo 这个命令等同于 Explore 的 Win-M 和 Win-D 快捷键。

 

229、移动指定窗口的命令是?

WinMove, X, Y

 

230、移动窗口更改大小的命令是?

WinMove, WinTitle, WinText, X, Y [, Width, Height, ExcludeTitle, ExcludeText]

 

231、还原指定窗口的命令是?

WinRestore [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

232、如果某些窗口不能正确响应 WinRestore ,可以尝试使用的脚本为?

PostMessage, 0x112, 0xF120,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND ,0xF120 = SC_RESTORE

 

233、匹配指定条件的窗口进行设置,如“总在最前”,以及透明度等使用那个命令?

WinSet, Attribute, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

234、WinSet中后紧跟AlwaysOnTop有什么含义?

让一个窗口处于置顶状态。使用 ON 开启设置,使用 OFF 关闭设置,使用 TOOGLE 切换设置。如果省略,默认是 TOOGLE。也可以使用单词 Topmost 替换 AlwaysOnTop。

 

235、如何切换计算器的“总在最前”状态?

WinSet, AlwaysOnTop, toggle, Calculator

 

236、WinSet中后紧跟Bottom有什么含义?

将一个窗口放到最底端,即所有窗口的下面。类似使用 Alt-Escape 快捷键。例如:

WinSet, Bottom,, WinTitle

 

237、WinSet中后紧跟Top有什么含义?

将一个窗口放到最前端而不进行激活。但多数情况下系统都会自动激活它。

 

238、WinSet中后紧跟Disable 或 Enable有什么含义?

停用或启用一个窗口。当一个窗口处于停用状态的时候,用户不能移动它或利用它的控件进行交互。另外,停用的窗口也不会出现在alt-tab 列表中。

 

239、WinSet中后紧跟Redraw有什么含义?

通过通知系统某个窗口区域需要重绘,来刷新一个窗口的界面和内容。

 

240、WinSet中后紧跟Style,N 或 ExStyle,N有什么含义?

分别设置窗口的样式或扩展样式。如果 N 中的第一个字符是加号或减号,则窗口会增加或移除 N 中指定的样式(可同时指定多个样式,下同);如果第一个字符是符号“`”,窗口将对 N 中指定的样式进行切换操作;如果第一个字符是数字,窗口原来的所有样式将被覆盖,彻底变成 N 中指定的样式。更改了一个窗口的样式之后,可能使用命令 WinSet Redraw 重绘窗口

 

241、移除当前激活窗口的标题栏?

WinSet, Style, -0xC00000, A

 

242、将窗口添加到/移除于 alt-tab 列表中。

WinSet, ExStyle, ^0x80, WinTitle

 

243、更改某窗口的形状为指定形状?

WinSet, Region [, Options, WinTitle, ...]

 

244、WinSet, Region后Options 参数留空有何作用?

窗口将恢复到原来的形状

 

245、WinSet, Region后Options 参数可以指定那些参数?

请用空格分隔各个参数。

Wn:方形或椭圆形的宽度如:w200。 Hn:方形或椭圆形的高度。例如:h300

X-Y:X轴 和 Y轴 坐标。如,200-0 E:将窗口形状设置为椭圆形。

R[w-h]:设置方形窗口的圆角。如,R30-30 ,如省略 w-h ,默认使用 30-30 。

 

246、设置一个椭圆窗口的代码如?

WinSet, Region, 50-0 W200 H250 E, WinTitle

 

247、如何设置一个多边形窗口?

如果同时指定了 W 和 H 参数,并且在 X-Y 参数中指定了多组坐标,窗口的形状将变成多边形(每组坐标以窗口左上角为原点)。

 

例如,如果指定了 3 组坐标,大多数情况下窗口的形状会变成三角形,具体的形状取决于 3 组坐标的顺序。此外,在 Options 参数中也可以加上单词 Wind ,这将会使用一种弯曲的方式来决定多边形的形状。

 

248、如何设置窗口的透明度?

WinSet, Transparent, N, WinTitle ;N 为一个 0 到 255 的数字:0 表示完全透明,255 表示完全不透明。使用单词 OFF 彻底关闭窗口的透明效果。

 

249、还有那种属性设置也可以让窗口设置透明度?

Gui -Caption +ToolWindow.

 

250、设置任务栏的透明度?

WinSet, Transparent, 150, ahk_class Shell_TrayWnd

 

251、如何使目标窗口中指定颜色的区域透明?

WinSet, TransColor, Color [N], WinTitle Color 参数可以是一个颜色名称或一个 RGB 值,可以在颜色参数后跟一表示透明度的数字(0 - 255)。例如:WinSet, TransColor, EEAA99 150, WinTitle  如果用户点击窗口中的透明部分,点击事件会“穿透”该窗口传递给下面的窗口。

 

252、如何让窗口中白色的部分透明?

WinSet, TransColor, White, Untitled - Notepad ;

 

253、如何完全关闭窗口的透明设置?

WinSet, Transparent, Off, WinTitle 或者 WinSet, TransColor, Off, WinTitle

 

254、取消脚本的 SplashText 窗口的置顶状态?

WinSet , AlwaysOnTop , Off , SplashText窗口的标题

 

255、让窗口只显示指定的方形部分?

WinSet, Region, 50-0 W200 H250, WinTitle

 

256、让窗口有圆角的方形?

WinSet, Region, 50-0 W200 H250 R40-40, WinTitle

 

257、倒三角形窗口?

WinSet, Region, 50-0 250-0 150-250, WinTitle

 

258、将窗口恢复原状?

WinSet, Region,, WinTitle

 

259、在窗口中创建了一个方形的“洞”?

WinSet, Region, 0-0 300-0 300-300 0-300 0-0 100-100 200-100 200-200 100-200 100-100, WinTitle

 

260、返回符合指定条件的窗口的 uID,进程ID,进程名称,或控件列表,包含所有符合指定条件的窗口的列表?

WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

261、WinGet中 Cmd参数处如留空或是ID有何含义?

返回窗口的 uID(HWND/句柄)。

 

262、WinGet中 Cmd参数处为IDLast有何含义?

当匹配的窗口超过一个的时候,它返回的是 最底端/最后使用 的窗口的 ID。

 

263、WinGet中 Cmd参数处为PID有何含义?

返回窗口的 进程ID(PID)。

 

264、WinGet中 Cmd参数处为ProcessName有何含义?

返回窗口所属进程的进程名称

 

265、WinGet中 Cmd参数处为Count有何含义?

返回符合指定条件的窗口数量(如果没有匹配窗口则返回 0 )。要统计当前总窗口数,省略所有和 标题/文本 有关的参数。

 

266、WinGet中 Cmd参数处为List有何含义?

返回所有符合指定条件的窗口的 uID 。每个 ID 由一个 数组元素 存储,数组元素名从 OutputVar 开始,而 OutputVar 本身则存储了数组的长度。例如,OutputVar 使用 MyArray ,有 2 个匹配窗口,则变量 MyArray1 存储了第一个窗口的 ID ,变量MyArray2 存储了第二个窗口的 ID

 

267、WinGet中 Cmd参数处为MinMax有何含义?

返回窗口的 最小化/最大化 状态。返回下列数值之一:-1:窗口处于最小化状态; 1:窗口处于最大化状态。0:窗口既不处于最大化也不处于最小化状态。

 

268、WinGet中 Cmd参数处为ControlList有何含义?

返回一个列表,包含窗口中所有控件的名称。每个控件的名称由它的 class 名和序号(ClassNN)组成,除了最后一个控件的名称之外,每个名称后都跟着一个换行符(`n)。要单独遍历所有的控件名称,使用 parsing loop

 

269、WinGet中 Cmd参数处为ControlListHwnd何义?

功能同上,不同的是它返回的是控件的 窗口句柄(HWND)。

 

270、WinGet中 Cmd参数处为Transparent有何含义?

返回窗口的透明度,OutputVar 存储一个 0 到 255 之间的值,0 表示完全透明,255 表示不透明。

 

271、WinGet中 Cmd参数处为TransColor有何含义?

返回窗口的透明色OutputVar 存储一个 6 位的十六进制数,表示 RGB 颜色如 0x00CC99 。

 

272、WinGet中 Cmd参数处为Style 或 ExStyle何含义?

返回一个 8 位的十六进制数,表示窗口的样式或扩展样式。

 

273、检测一个窗口是否具有 WS_DISABLED 样式?

WinGet, Style, Style, My Window Title

if (Style & 0x8000000) ; 0x8000000 表示 WS_DISABLED

 

274、检测一个窗口是否具有置顶样式?

WinGet, ExStyle, ExStyle, My Window Title

if (ExStyle & 0x8) ; 0x8 表示 WS_EX_TOPMOST.

 

275、激活当前窗口并获得位置、大小信息?

WinGetActiveStats, Title, Width, Height, X, Y 说明:Title 存储当前激活窗口的标题。Width/Height 存储当前激活窗口的宽或高。X, Y 存储当前激活窗口左上角坐标标。

 

276、获取当前激活窗口的标题?

WinGetActiveTitle, OutputVar

 

277、如何得到指定窗口的 class 名?

WinGetClass, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText] 

 

278、如何得到指定窗口的位置和大小?

WinGetPos [, X, Y, Width, Height, WinTitle, WinText, ExcludeTitle, ExcludeText]

X, Y 目标窗口左上角的坐标。Width/Height 目标窗口的宽或高。如参数 WinTitle 使用“Program Manager”,该命令会返回桌面

 

279、如何得到指定窗口中的文本?

WinGetText, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]

OutputVar 存储获取的文本。每个获取的文本元素之后都跟着一个回车换行符,在脚本中用 `r`n 表示。

 

280、如何得到指定窗口的标题?

WinGetTitle, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]

 

281、如何激活指定窗口,将它置于最前端?

WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText ]

 

282、等待直到 剪贴板中含有数据为止?

ClipWait [, 等待N秒, 1] 参数若省略,则等候时间无期限。

 

283、如何加载某个外部文件中定义的 函数?

#Include 文件名或目录名 或者 #IncludeAgain 文件名或目录名

如:#Include C:\My Documents\Scripts\Utility Subroutines.ahk

#Include 会确保每个文件仅被装入一次,#IncludeAgain允许多次装入同一个文件。

给文件名参数前加上一个 *i 前缀和一个空格符后,程序将忽略加载装入文件时发生的任何错误。例如:#Include *i SpecialOptions.ahk。

 

.

 

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

戴国进

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

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

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

打赏作者

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

抵扣说明:

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

余额充值