1、示例(自动打开QQ声音)前端
Loop ;循环体
{
WinWait, 与 qq009 交谈中,
IfWinNotActive, 与 qq009 交谈中, , WinActivate, 与 qq009 交谈中,
WinWaitActive, 与 qq009 交谈中,shell
Controlclick, Button36 ;接受请求express
Sleep, 500数组
Control, Check, true, Button34 ;打开声音浏览器
Sleep, 100
}
returndom
2、经常使用命令编辑器
一、MsgBox命令有几种格式?
MsgBox, 文本 或 MsgBox [, 类型,标题, 文本, 显示时间 ]
二、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 这些参数容许相加而获得复合效果。
三、显示含有yes/no按钮并总在顶端的对话框?
msgbox,4100,标题,内容
四、MsgBox如何换行?
MsgBox,你好,欢迎关注静海安澜阁 `n 请继续关注
五、如何对MsgBox命令的选择结果进行处理?
IfMsgBox, ButtonName
ButtonName可选项: Yes No OK Cancel Abort Ignore Retry Timeout
六、对话框显示时间,并以秒为单位?
msgbox , , 标题 , 内容 , 5
七、运行外部可执行程序或者直接打开文件?
Run, 目标文件[ , 工做目录 , Max|Min|Hide|UseErrorLevel , 输出PID 变量]
八、如何运行记事本并以最大化状态显示?
Run, Notepad.exe , , Max
九、如何直接打开文件?
Run, MyFile.txt
十、命令行解释器cmd.exe 用那个宏来表示?
%ComSpec% /k在执行完命令后保留命令提示窗口,而/c则在执行完命令以后关闭提示窗口
十一、命令“dir c:\Windows\system32”如何实现?
Run, %ComSpec% /k dir c:\Windows\system32
十二、如何打开网页?
Run, http://hi.baidu.com/xuejinglan
1三、如何打开系统属性窗口?
Run control sysdm.cpl 须要的话能够搜索全部的*.cpl文件
1四、打开控制面板?
run,control
1五、如何打开搜索窗口且指定搜索位置?
Run, find C:\
1六、如何显示指定文件的属性窗口?
Run, properties MyFile.txt 注意:AHK 在退出前将自动关闭打开的属性窗口!
1七、如何打印指定文件?
Run, print MyFile.txt
1八、等待窗口出现、被激活、被关闭用那些命令?
WinWait/WinWaitActive/WinWaitClose
1九、如何使目标窗口出现以前不执行后面语句?
WinWait [, 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本]
20、如何使目标窗口成为活动窗口?
WinActivate [,窗口标题, 窗口文本, 排除标题, 排除文本]
2一、关闭窗口有几种方式?
正常关闭窗口(WinClose ),强行关闭窗口(WinKill):
WinClose/WinKill [ , 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本]
2二、同名窗口使咱们没法用窗口标题准确标识窗口,如何使用窗口ID来准肯定位窗口?
使用得到窗口句柄的命令WinGet
WinGet[, 输出变量, CMD, 窗口标题, 窗口文本, 排除标题, 排除文本]
2三、如何用窗口ID来替代窗口标题?
ahk_pid %ThisPID%
2四、那个命令把鼠标点击事件发送到目标窗口的目标控件上?
ControlClick [, 目标控件或坐标位置, 窗口标题, 窗口文本, 鼠标按钮, 点击次数, 选项, 排除标题,排除文本]
2五、ControlClick命令中,目标控件参数主要是什么?
目标控件参数是指要点击的控件的类别名(ClassNN)或控件文本,还可使用控件句柄(若用的是控件句柄则第一个参数需留空,
并在第二个参数中使用ahk_id %控件句柄%)。
2六、如何得到目标控件信息?
先打开你要进行操做的目标窗口,而后运行AutoIt3 Window Spy,把鼠标移到目标控件上
2七、鼠标单击系统属性肯定按钮代码是?
ControlClick, 肯定, 系统属性
ControlClick, Button2, 系统属性
2八、目标窗口或控件是隐藏状态,ControlClick还能够点击目标控件吗?
能够点击目标控件,但不能保证成功率。
2九、如何设置控件文本?
ControlSetText [, 目标控件, 新文本, 窗口标题, 窗口文本, 排除标题, 排除文本]
例如:ControlSetText, Edit1, D:\foobar2000, Setup foobar
30、如何选中和取消单选框和复选框项目中的选择项目?
Control [, 命令, 值, 目标控件, 窗口标题, 窗口文本, 排除标题, 排除文本]
其中,“命令”就是让咱们指定要进行何种设置的参数。对这些单选框/复选框按钮来讲,适用的命令是“Check”和“UnCheck ”。
例如:Control, Check, , Button5, foobar
Control, UnCheck, , Button7, foobar
3一、如何选择下拉列表的项目?
还是使用Control命令,适用的命令是“Choose, N”和“ChooseString, String”,分别表示选中第N个项目和选中与字符串String
匹配的项目;例如:
Control, Choose, 5, ComboBox1, Installer
Control, ChooseString, 简体中文, ComboBox1, Installer
3二、键盘如何重定义?
a::b
3三、字符串如何进行自动替换?
::is::island of resistance或者
::china::
Clipboard=中华人民共和国
send,^V
Return
3四、屏蔽或开启键盘、鼠标?
BlockInput 命令后,紧跟on,则屏蔽键盘鼠标操做,紧跟off,则从新启用用户输入。
如何仅仅屏蔽鼠标?如何恢复? BlockInput,MouseMove 恢复为:BlockInput, MouseMoveOff
3五、如何创建一个弹出式窗口例示文本?如何关闭?
SplashTextOn [, 宽度, 高度, 标题, 文本]
`n 能够在MsgBox和SplashTextOn等命令中对显示的文本进行换行。
SplashTextOff 为关闭SplashTextOn命令创建的弹出式窗口。
3六、如何将一系列指令重复执行指定次数? Loop [, Count]
{
循环体……
}
3七、Loop中的count容许是表达式或者变量吗?
Count不容许是表达式,但容许是一个变量。
如何知道loop如今循环到第几回? loop 指令隐含有一个变量 A_Index ,用来记录当前状态是第几回循环
3八、如何中断循环?
if a_index > 25
break ; 中断循环
3九、如何跳过本次循环?
if a_index < 20
continue ; 跳过本次循环,开始一次新的循环
40、如何使使脚本等待指定时间?
Sleep,时间 单位为毫秒
4一、如进行数学运算,使用什么符来把表达式运算的结果赋予某变量?
使用冒号等号符。如:NetPrice := Price * (1 - Discount/100)
4二、i := i+1 的简化写法是什么?
i + =1
4三、如何获取指定区间的随机数?
Random, 输出变量 [, 最小值, 最大值]
4四、如何从指定文本中读取指定行?
FileReadLine, 输出变量, 文件名, 行数
4五、如何判断文本超出边界?
ErrorLevel 是命令内置的一个变量,当读取文件超出边界时将被赋值为1.
4六、ErrorLevel 为0和1时通常表明什么?
通常状况下,为0表明操做成功,为1,表明操做失败。
4七、通常状况下,编写弹出式菜单代码的顺序是什么?
一、先定义子菜单项;二、编写菜单项;三、编写令菜单显示的代码;四、编写删除代码;五、编写响应代码。
4八、如何添加子菜单?
Menu,add,子菜单项,:子菜单变量如:menu,mymenu,add,经常使用程序,:amenu
4九、用来在弹出式菜单中显示一条分割线的代码是?
Menu, MenuName, add
50、正常菜单项的代码是?
Menu, MenuName, add,菜单项,响应标志
5一、响应代码的格式是?
响应标志:
响应代码……
return
5二、形如:Menu,amenu,add,txt 的代码是什么意思?
它实际上是Menu,amenu,add,txt,txt 的一种简写,表明菜单项和响应标志
5三、在指定坐标处显示菜单项的代码是?
Menu,MenuName,show,X坐标,Y坐标 如省略坐标,则在鼠标当前位置显示菜单项。
5四、如何指定显示菜单的背景色?
Menu,MenuName,color,颜色代码
5五、删除全部菜单的代码是什么?有什么做用?
Menu,mymenu,deleteall
若是没有这句代码,代码中分割线会在菜单重显时翻倍。如无分割线,可免
5六、重启、关闭、注销系统的指令是什么?
Shutdown 后跟0为注销1为关机,2为重启,4为强制关闭 8为关闭关闭电源
5七、隐藏脚本图标有几种方法?
Menu , tray , noicon 或者#NoTrayIcon
5八、显示脚本图标的代码?
Menu , tray , icon
5九、脚本图标的气泡提示如何显示?
Menu , tray , tip , 我本身的脚本
60、如何设置脚本的图标?
Menu , tray , icon , %systemroot%\system32\shell32.dll ,22或者Menu , tray , icon , e:\ico\1.ico
6一、如何利用快捷键退出脚本?
#x::ExitApp
6二、如何移除托盘图标的全部标准菜单项?
Menu , tray , NoStandard
6三、如何插入托盘图标菜单?
Menu , tray , add , myitem
6四、如何显示托盘图标的标准菜单项?
Menu , tray , standard
6五、在托盘图标显示一个二级菜单代码如何表示?
menu,mymenu,add,boke
menu,mymenu,add,luntan
menu,tray,add,相关网站,:mymenu
Return 注意:响应标志后是 :不是::
6六、如何使非热键类的脚本持久运行?
#Persistent
6七、显示一个标准的文件选择对话框的代码为?
FileSelectFile, OutputVar [, Options, RootDir, Prompt, Filter]
Option 参数如被省略,则为单选。M 多选,M后容许随意跟随一个数字。S: 显示保存对话框。数字为通常为3,即文件及路径必须存在。Filter 参数格式如:Example: Audio (*.wav; *.mp2; *.mp3)
6八、FileSelectFile命令如用户选择了多个文件,输出变量如何分割?
输出变量用(`n)字符分割。第一个参数为路径,随后紧跟选定的各个文件名。
if files =
{
MsgBox, 用户放弃选择。
}
Loop, parse, files, `n
{
if a_index = 1
mypath = %A_LoopField%
else
{
runwait, %mypath%\%A_LoopField%
}
}
return
6九、运行并等待程序完成的指令是?
runwait
70、从某字符串中逐次分解出一个个的子串。
Loop, Parse , 某字符串 , 用于分割的特征变量
7一、用对话框显示音量递增10%?
MsgBox, 音量递增10`%
7二、使静音或者取消静音状态?
SoundSet, +1, , mute 或者Send,{Volume_Mute}
7三、使主音量提高(下降)10%?
SoundSet ,+(-)10, MASTER
7四、使音量中波形音量提高(下降)10%?
SoundSet , +(-)10, WAVE
7五、#NoEnv 做用是什么?
主要是为了与之后兼容,也能够改善性能
7六、如何对某些多媒体功能键重定义?
建个脚本内容为#InstallKeybdHook并执行,双击图标,窗口中选择菜单 view 第四项 key 开头的而后按多媒体键,f5刷新,看第二列内容好比a,显示的值是01e 。使用时就是sc01e::msgbox
7七、显示器的宽度和高度用那两个常数表示?
A_ScreenWidth 和 A_ScreenHeight
7八、如何移动鼠标光标?
MouseMove, X, Y [, Speed, R] Speed 参数的范围在 0 (最快) to 100 (最慢)之间取值.
R 参数 若是有此参数,则鼠标移动将以当前位置为基准,进行 x 和 y 像素的位移.
7九、如何获取当前鼠标坐标?
MouseGetPos, X, Y
80、MouseGetPos还有什么做用?
MouseGetPos 指令用来返回鼠标的当前位置,以及鼠标当前悬停的窗口和控件。格式为:
MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl
OutputVarWin 这个变量存储了当前鼠标悬停的窗口的ID ,即便窗口未处于激活状态。OutputVarControl 这个变量存储了当前鼠标悬停的控件的名称(ClassNN)。
8一、MouseGetPos 命令在最后有一、二、3参数是什么意思?
1:在多文档界面程序(例如 SysEdit 或 TextPadThis )中能够准确的获取激活或置顶的子窗口信息。对其它状况就不那么准确了。2 :在 OutputVarControl 中存储 control's HWND/窗口句柄。3 :同时包含 1 和 2 的功能。
8二、如何在屏幕上创建一个紧随鼠标的弹出式窗口?
ToolTip [, Text, X, Y]
8三、如何得到当前位置像素的颜色RGB的值?
PixelGetColor, OutputVar, X, Y [, RGB]
8四、如何在系统托盘创建一个弹出式窗口?
TrayTip [, Title, Text, Seconds, Options] 注意senconds的取值通常在10到30之间
8五、如何用指定时间间隔自动或重复激发某子程序?
SetTimer , Label , 时间间隔
8六、关闭某进程的代码是?
Process,close,autohotkey.exe
8七、如何检索鼠标所在位置的信息?
MouseGetPos , , , id , control ; 获得鼠标所在位置窗口的id及控件名称
WinGetTitle, title, ahk_id %id% ;检索到相应id对应窗口的标题
WinGetClass, class, ahk_id %id% ;检索到相应id对应窗口的类名
8八、如何获得当天的日期?
dd = %A_YYYY%年%A_MM%月%A_DD%日
8九、如何给剪贴板赋值?
clipboard = %var%
90、当前桌面那个常数表示?
%A_Desktop%
9一、如何设置鼠标速度?
SetDefaultMouseSpeed 30; 默认的是2 ,能够从0调到100,越小越快
9二、如何设置鼠标动做结束以后的延迟?
SetMouseDelay 30; 默认是10毫秒
9三、如何实现ctrl+鼠标双击?
send ^{click 100,200 2}
9四、使滚轮向上滚2次?
click wheelup 2 ; wheelup 能够写成WU
9五、滚轮向下滚一次?
click wheeldown ;wheeldown 能够简化为WD
9六、使鼠标滚轮向下滚5次有几种方法?
Click , WD,5或
loop 5
click WD
9七、当前位置鼠标单击左键
click ;
right 右键,left左键(默承认省略),middle 中键
9八、当前位置鼠标双击左键?
click 2
9九、移动鼠标到30,40?
click 30 , 40 , 0
100、点击鼠标右键的代码如何编写?
Click , 100 , 200 , right
10一、若是鼠标点击的坐标是动态的如何表达?
Click %x% %y%
10二、拖动某图标?
click 30,40 down
click 50,60 up
10三、如何设置一个进度条?
Progress , %i% , 进度条下文本 , 进度条上文本 , 标题
10四、如何建立快捷方式?
FileCreateShortcut, 目标文件, 快捷方式名 [, 工做目录, 用空格分开的参数, 描述, 图标, 快捷键, 图标标号, 运行状态]
注意:只需指定单个按键,全部的快捷键被指定为 CTRL+ALT + 快捷键,若是给该参数指定 B,将会产生一个 CTRL-ALT-B 的快捷键。运行状态1 - 正常(默认)3 - 最大化7 - 最小化
10五、空格键
{space}
10六、向左的箭头
{Left}
10七、ctrl键?
^
10八、alt键?
!
10九、回车?
{enter}
1十、小键盘的1?
Numpad1
1十一、Windows键?
#
1十二、Shift键?
+
11三、逻辑与,把多个按键或鼠标组合成一个自定义键?
&
11四、一对按键中的左边的按键?
< 如
11六、通配符,表示热键被按下时,即便同时还有其余的按键按下,依然有效?
*
11七、热键被触发后,动做不会被阻塞?
~
11八、禁用某键?
在::后紧跟return便可。如:RWin::return
11九、按键重映射?
a::b 如:RAlt::Rbutton 右alt映射为鼠标右键Lbutton::return 鼠标左键被屏蔽
120、仅在notepad中交换a、b键?
#IfWinActive ahk_class Notepad
a::b ;
#IfWinActive ;
12一、鼠标定义?
LButton RButton MButton WheelDown WheelUp
12二、键盘定义?
Space Tab Enter (or Return) Escape (or Esc) Backspace (or BS) Delete (or Del) Insert (or Ins) Home End PgUp PgDn Up Down Left Right ScrollLock CapsLock NumLock Numlock ON Numlock OFF Numpad0 NumpadPgUp NumpadDot (.) NumpadDel NumpadDiv (/) NumpadDiv (/) NumpadMult (*) NumpadMult (*) NumpadAdd (+) NumpadAdd (+) NumpadSub (-) NumpadSub (-) NumpadEnter NumpadEnter 1 a A LWin Control (or Ctrl) Alt Shift F1 PrintScreen CtrlBreak Pause Break
12三、注释
;跟在需注释的语句以后,注意语句和分号之间至少要有一个空格。若是要注释多个语句可使用
12四、函数?
Add(x, y)
{
return x + y ; "Return" expects an expression.
}
函数调用时,变量的后面使用 := 例如:Var := Add(2, 3) ;
因为一个函数调用就是一个表达式,因此函数的参数列表里面的变量前面不能加百分号“%”,相反的,字符串要使用引号。当一个命令的参数调用函数的时候,若是命令的参数不支持表达式,就必须使用百分号“%”,如:
MsgBox % "The answer is: " Add(3, 2)
12五、若是要想在热字符串替换后加上空格?
在语句的后边加上 `,:*:btw::By the way `
12六、弹出光驱
Drive, Eject,, 0
12七、收回光驱
Drive, Eject,, 1
12八、使窗口透明,值在1-255之间?
WinSet, Transparent, 100,个人电脑
12九、建立或更新启动界面?
SplashImage,d:\1.jpg,b fs18
Sleep,5000
b fs 18 能够去除界面边框。缘由不明
130、修改脚本以后,按住左键后按R从新载入脚本
~LButton & r::
reload
return
13一、打开/激活记事本
IfWinExist 无标题 - 记事本
{
WinActivate
}
Else
{
Run Notepad
WinWait 无标题 - 记事本
WinActivate
}
13二、隐藏任务栏 WinHide ahk_class Shell_TrayWnd
显示任务栏 WinShow ahk_class Shell_TrayWnd
13三、如何强制单线程?
#SingleInstance force
13四、屏蔽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
13五、双击启动A程序.再双击,自动关闭A程序.
ifexist, 程序窗口标题
winkill, 程序窗口标题
else
run, 程序文件路径
return
13六、当前窗口始终置于顶层?
WinSet AlwaysOnTop, on, A
13七、关闭当前窗口置于顶层状态?
WinSet AlwaysOnTop, off, A
13八、窗口还能够用表示?
ahk_class class、ahk_pid %PID%、ahk_id %ID%
13九、音乐播放或暂停?
Send , {Media_Play_Pause}
140、音乐播放中止?
Send , {Media_Stop}
14一、播放上一首?
Send , {Media_Prev}
14二、播放下一首?
Send , {Media_Next}
14三、按下浏览器回退键?
Send , {BROWSER_BACK}
14四、按下浏览器 向前键?
Send , {BROWSER_FORWARD}
14五、按下浏览器刷新键?
Send , {BROWSER_REFRESH}
14六、按下浏览器中止键?
Send , {BROWSER_STOP}
14七、按下浏览器搜索键?
Send , {BROWSER_SEARCH}
14八、按下浏览器收藏键?
Send , {BROWSER_FAVORITES}
14九、按下浏览器主页键?
Send , {BROWSER_HOME}
150、使静音?
Send , {VOLUME_MUTE}
15一、下降音量?
Send , {VOLUME_DOWN}
15二、提高音量?
Send , {VOLUME_UP}
15三、打开邮件程序?
Send , {LAUNCH_MAIL}
15四、打开播放器?
Send , {LAUNCH_MEDIA}
15五、如何对字符串中某字符进行替换?
StringReplace,CodeString, CodeString, 被替换 , 替换, All
15六、鼠标光标的状态用那个常数表示?
% A_Cursor %
15七、当前脚本的运行路径用那个常数表示?
%A_WorkingDir%
15八、经常使用判断语句运行失败的代码是?
if ErrorLevel
break
15九、如何令鼠标进行相对移动?
在Click命令后使用Rel或者Relative参数,如:Click , 100 , 55 , rel
160、如何模拟Shift + 点击?
Send +{Click 100, 200}
16一、如何模拟Ctrl +右键点击?
Send ^{Click 100, 200, right}
16二、退出或终止某个 loop循环用那个命令?
Break如:
loop{ ... if var > 25 break ... if var <= 5 continue}
16三、如何肯定是否删除首位空格和Tab的设置?
判断% A_AutoTrim% (On 或者Off )
16四、单个空格和单个Tab用哪一个常量表示?
% A_Space % 和 % A_Tab %
16五、"Var1 = %Var2%" 表达式中自动省略 Var2 中首尾的空格和Tab 用哪一个命令实现?
AutoTrim, On
16六、点击或按住一个鼠标按键,或者滚动鼠标滚轮除了Click外还有哪一个?
MouseClick [, WhichButton , X, Y, ClickCount, Speed, D|U, R]
16七、鼠标滚轮:WU 向上滚动, WD 向下滚动滚轮,后续的 ClickCount 参数表示滚动滚轮的次数。ClickCount如省略,则默认点击1 次。D = 按住鼠标按键不放;U = 释放鼠标按键;R 相对移动
16八、Mouse 开头的函数中WhichButton有那些选择?
WhichButton :Left/左键,Right/右键,Middle/中键滚动
16九、Mouse 开头的函数中Speed 有那些选择?
Speed 鼠标移动的速度,从 0(最快)到 100(最慢)
170、点击并按住指定的鼠标按键,移动鼠标到目标位置,释放鼠标按键?
MouseClickDrag, WhichButton, X1, Y1, X2, Y2 [, Speed, R]
X1, 起始位置 X2, Y2 目标位置坐标 R 相对移动
17一、WinWaitActive,ahk_class MSPaintApp,, 2中最后2表明什么?
超时时间,秒为单位
17二、ELSE后可跟什么命令?
任何单个命令都能和一个ELSE命令在同一行。如其后拥有多行,那些行必须被括入大括号。可是若是只有一行属于一个IF或一个ELSE命令,那么大括号是可选的。
17三、无条件地终止脚本用哪一个命令?
ExitApp 脚本将当即被终止,若是脚本有 OnExit 子程序,它将响应ExitApp而运行。
如:onexit,a
s::ExitApp
a:
msgbox,kk
Return
17四、如何删除一个或多个文件?
FileDelete, FilePattern。FilePattern 单个文件的名称或一个像C:\Temp\*.tmp这样的通配符样式。若是绝对路径没被指定,FilePattern 会被假设在 %A_WorkingDir% 。
17五、移除包含子文件夹和文件的整个文件夹?
FileRemoveDir,DirName
17六、如何移除只读属性
FileSetAttrib, -R, C:\My File.txt
+ 增长属性- 取消属性^ 设置增长取消开关R = 只读A = 存档S = 系统H = 隐藏N = 普通 O = 脱机 T = 临时
17七、跳到指定的标签而且继续执行?
Gosub, Label 。Label 跳转的标签、热键标签 或者 热字串标。Return脚本跳回Gosub下首个命令并继续执行。Exit终止当前的线程。
17八、标签能够是变量吗?
Label 能够是一个 变量 如 %MyLabel%,若是Label不存在,将显示一个错误对话框。
17九、哪一个函数能够检验标签是否存在?
IsLabel(标签名) 如:
if IsLabel(VarContainingLabelName)
Gosub %VarContainingLabelName%
180、显示一个输入对话框,接受用户输入的数据?
InputBox, 输出变量 [, 标题, 提示文本, HIDE, 宽度, 高度, 横坐标, 纵坐标, 必须留空, Timeout, Default]
HIDE 若是这里使用单词 HIDE ,那么用户的输入内容会被隐藏。这在输入密码的时候颇有用。Timeout 超时时间,单位是秒。Default 输入对话框出现时默认出如今输入框中的数据。
18一、检查文件或文件夹或驱动器是否存在?
IfExist, FilePattern或者IfNotExist, FilePattern 如:
IfExist, D:\
MsgBox, 驱动器存在。
18二、从一个字符串的左边或右边开始提取必定数量的字符用那个命令?
左边:StringLeft, OutputVar, InputVar, Count
右边:StringRight, OutputVar, InputVar, Count
Count 须要提取的字符数量,OutputVar 能够和 InputVar 相同。
18三、如何获取字符串长度?
StringLen , OutputVar , InputVar InputVar 须要统计长度的字符串变量名。
18四、如何将某字符串中的英文字母所有转换为大写或小写?参数中的T有什么做用?
小写:StringLower, OutputVar, InputVar [, T]
大写:StringUpper, OutputVar, InputVar [, T]
T 若是这个参数使用字母 T ,字符串将被转换为标题格式。
18五、如何判断某字符串是否所有是大写或小写字母?
可使用“if var is [not] upper/lower”。
18六、如何从字符串中指定的位置返回一个或多个字符?
StringMid, OutputVar, InputVar, StartChar [, Count , L]
StartChar 提取的起始位置,Count如省略或留空,默认是一个足够存储全部字符的值。不然,该参数表示须要提取的字符数量,L从 StartChar 开始向左边提取字符
18七、如何对字符串中指定的子字符串进行替换?
StringReplace, OutputVar, InputVar, SearchText [, ReplaceText, ReplaceAll ]
SearchText 被替换的文本,不区分大小写。ReplaceText 替换的文本。ReplaceAll如省略,只有第一个匹配 SearchText 的子字符串会被替换。若是这个参数是 1 、A 或者 All ,则全部匹配的子字符串都将被替换。若是这个参数是 UseErrorLevel 将在ErrorLevel中存储被替换的子字符串的数量
18八、如何在剪贴板中移除换行?
StringReplace, clipboard, clipboard, `r`n, , All
18九、如何从字符串的左边或右边移除指定数量的字符?
左边:StringTrimLeft, OutputVar, InputVar, Count 右边:StringTrimRight, OutputVar, InputVar, Count
190、写入一个值到注册表中用那个命令?
RegWrite, ValueType, RootKey, SubKey [, ValueName, Value]
19一、从注册表中读取一个值用那个命令?
RegRead, OutputVar, RootKey, SubKey [, ValueName]
19二、从注册表中删除一个子键或一个值用那个命令?
RegDelete, RootKey, SubKey [, ValueName]
19三、ValueType有那些可选项?
只能是 REG_SZ ,REG_EXPAND_SZ ,REG_MULTI_SZ ,REG_DWORD 或者 REG_BINARY
19四、RootKey 有那些可选项?
只能是HKEY_LOCAL_MACHINE 、HKEY_USERS 、HKEY_CURRENT_USER 、HKEY_CLASSES_ROOT 、HKEY_CURRENT_CONFIG 其中之一(或者它们的缩写,例如 HKLM )。要访问远程注册表,在前面加上电脑名和一个冒号,例如:\\workstation01:HKEY_LOCAL_MACHINE
19五、SubKey表明什么含义?
子键的名字如 Software\SomeApplication。若是 SubKey 不存在,将会在它的父类之下自动建立。如留空,将把值直接写入到 RootKey 中
19六、ValueName 表明什么?
须要写入值的项的名称。若是留空或省略,默认修改的是 Subkey 的默认值,也就是在 RegEdit 中显示为“(Default)/默认”的值
19七、Value 表明什么? 须要写入的值。如省略,默认是一个空字符串,或 0
19八、IfEqual, var, value 等同于? if var = value
19九、IfNotEqual, var, value 等同于? if var <> value) (!= 能用来替代 <>)
200、IfGreater, var, value 等同于? if var > value
20一、IfGreaterOrEqual, var, value等同于? if var >= value
20二、IfLess, var, value 等同于? if var < value
20三、IfLessOrEqual, var, value 等同于? if var <= value
20四、If var 表明什么? 若是变量的内容为空或是 0 ,那么它被认做 false。不然,将为 true。
20五、检查一个变量是否在两个 values 之间用那个命令?
if var [not] between LowerBound and UpperBound
20六、如何检查某变量是否存在于一个 values 列表内部?
if var [not] in value1,value2
if Done If ……if else ……if else 语句完毕
20七、如何使指定窗口最大化?
WinMaximize [, WinTitle, WinText, ExcludeTitle, ExcludeText]
20八、如某特定窗口没有准确地对WinMaximize 作出反应怎么办?
PostMessage, 0x112, 0xF030,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF030 = SC_MAXIMIZE此命令仅运做在匹配的最前端窗口上
20九、用那个命令检索目标窗口有输入焦点的控件?
ControlGetFocus, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]
OutputVar 存储控件标识符的变量名称,如 Button12。
2十、如何防止当前线程被其余线程中断?
Critical [, On | Off] 如参数被省略或是 On,则当前的线程不会被其余线程中断。如是Off,则可中断。
2十一、如何取得谋控件的位置和大小?
ControlGetPos [, X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]
X, Y 是控件左上角坐标。如省略坐标将不被储存。Width/Height 是控件的高和宽。Control 控件的名称/文本或 ClassNN (控件的类名和序号)
2十二、Edit命令有什么做用?
Edit 命令使用关联的编辑器打开当前脚本进行编辑,至关于托盘图标菜单的"Edit This Script"命令。
21三、是否容许某脚本重复次运行?
#SingleInstance [force|ignore|off] 参数 FORCE 将跳过对话框,并自动地替换旧的实例,实际上同 Reload 命令类似。参数IGNORE 将跳过对话框,并让旧的实例运行。单词 OFF 容许多个脚本实例同时运行。如参数被省略,将显示一个对话框,询问是保持旧的实例仍是使用新的实例来替换它。
21四、#HotkeyInterval随同 #MaxHotkeysPerInterval 一块儿的做用是什么?
指定 热键 激活的速率,当超过这一速率时,将会显示一个警告对话框。
格式为:#HotkeyInterval Milliseconds 参数:Milliseconds 间隔的长度,以毫秒为单位。
21五、哪一个命令用来等待匹配指定条件的窗口被关闭?
WinWaitClose [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]
21六、如何调用窗口菜单项?
WinMenuSelectItem, WinTitle, WinText, Menu [, SubMenu1, SubMenu2, SubMenu3, SubMenu4, SubMenu5, SubMenu6, ExcludeTitle, ExcludeText]
21七、在WinMenuSelectItem命令中Menu参数表明什么?
Menu 是顶级菜单的名称,例如 File、Edit等,SubMenu1 须要选择的菜单的名称或位置,SubMenu2 若是 SubMenu1 自己还有子菜单,那么这个参数就是子菜单项的名称或位置。以此类推。也可使用 1& 表示第一个菜单项,2&表示第二个菜单项。
21八、用那个命令强制关闭窗口?
WinKill [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]
21九、WinKill命令中SecondsToWait参数有何含义?
若是省略或留空,命令彻底不会等待。若是使用 0 ,会等待 500ms 。不然,它会等待指定的时间(能够包含小数点或者是一个 表达式 )来让窗口完全关闭。
220、隐藏/显示指定窗口的命令是?
WinHide/WinShow [, WinTitle, WinText, ExcludeTitle, ExcludeText]
22一、最小化匹指定窗口到任务栏的命令是?
WinMinimize [, WinTitle, WinText, ExcludeTitle, ExcludeText]
22二、若是某些窗口不能正确响应 WinMinimize ,能够尝试使用脚本?
PostMessage, 0x112, 0xF020,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND ,0xF020 = SC_MINIMIZE 这个命令只对匹配窗口中处于最前端的进行操做
22三、激活最底端的窗口的命令是?
WinActivateBottom [, WinTitle, WinText, ExcludeTitle, ExcludeText]
22四、关闭指定窗口的命令是?
WinClose [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText] 或者是PostMessage, 0x112, 0xF060,,,WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE
22五、等待指定窗口处于激活或未激活状态的命令是?
WinWaitActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]
WinWaitNotActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]
Seconds 超时时间。留空表示无限等待。指定 0 等同于 0.5 。
22六、等待指定窗口出现的命令是?
WinWait [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]
22七、改变指定窗口的标题的命令是?
WinSetTitle, NewTitle 或WinSetTitle, WinTitle, WinText, NewTitle [, ExcludeTitle, ExcludeText]
NewTitle 目标窗口的新标题。若是只有此参数,默认是上一次匹配窗口 。
22八、最小化或还原全部窗口的命令是?
WinMinimizeAll / WinMinimizeAllUndo 这个命令等同于 Explore 的 Win-M 和 Win-D 快捷键。
22九、移动指定窗口的命令是?
WinMove, X, Y
230、移动窗口更改大小的命令是?
WinMove, WinTitle, WinText, X, Y [, Width, Height, ExcludeTitle, ExcludeText]
23一、还原指定窗口的命令是?
WinRestore [, WinTitle, WinText, ExcludeTitle, ExcludeText]
23二、若是某些窗口不能正确响应 WinRestore ,能够尝试使用的脚本为?
PostMessage, 0x112, 0xF120,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND ,0xF120 = SC_RESTORE
23三、匹配指定条件的窗口进行设置,如“总在最前”,以及透明度等使用那个命令?
WinSet, Attribute, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]
23四、WinSet中后紧跟AlwaysOnTop有什么含义?
让一个窗口处于置顶状态。使用 ON 开启设置,使用 OFF 关闭设置,使用 TOOGLE 切换设置。若是省略,默认是 TOOGLE。也可使用单词 Topmost 替换 AlwaysOnTop。
23五、如何切换计算器的“总在最前”状态?
WinSet, AlwaysOnTop, toggle, Calculator
23六、WinSet中后紧跟Bottom有什么含义?
将一个窗口放到最底端,即全部窗口的下面。相似使用 Alt-Escape 快捷键。例如:
WinSet, Bottom,, WinTitle
23七、WinSet中后紧跟Top有什么含义?
将一个窗口放到最前端而不进行激活。但多数状况下系统都会自动激活它。
23八、WinSet中后紧跟Disable 或 Enable有什么含义?
停用或启用一个窗口。当一个窗口处于停用状态的时候,用户不能移动它或利用它的控件进行交互。另外,停用的窗口也不会出如今alt-tab 列表中。
23九、WinSet中后紧跟Redraw有什么含义?
经过通知系统某个窗口区域须要重绘,来刷新一个窗口的界面和内容。
240、WinSet中后紧跟Style,N 或 ExStyle,N有什么含义?
分别设置窗口的样式或扩展样式。若是 N 中的第一个字符是加号或减号,则窗口会增长或移除 N 中指定的样式(可同时指定多个样式,下同);若是第一个字符是符号“`”,窗口将对 N 中指定的样式进行切换操做;若是第一个字符是数字,窗口原来的全部样式将被覆盖,完全变成 N 中指定的样式。更改了一个窗口的样式以后,可能使用命令 WinSet Redraw 重绘窗口
24一、移除当前激活窗口的标题栏?
WinSet, Style, -0xC00000, A
24二、将窗口添加到/移除于 alt-tab 列表中。
WinSet, ExStyle, ^0x80, WinTitle
24三、更改某窗口的形状为指定形状?
WinSet, Region [, Options, WinTitle, ...]
24四、WinSet, Region后Options 参数留空有何做用?
窗口将恢复到原来的形状
24五、WinSet, Region后Options 参数能够指定那些参数?
请用空格分隔各个参数。
Wn:方形或椭圆形的宽度如:w200。 Hn:方形或椭圆形的高度。例如:h300
X-Y:X轴 和 Y轴 坐标。如,200-0 E:将窗口形状设置为椭圆形。
R[w-h]:设置方形窗口的圆角。如,R30-30 ,如省略 w-h ,默认使用 30-30 。
24六、设置一个椭圆窗口的代码如?
WinSet, Region, 50-0 W200 H250 E, WinTitle
24七、如何设置一个多边形窗口?
若是同时指定了 W 和 H 参数,而且在 X-Y 参数中指定了多组坐标,窗口的形状将变成多边形(每组坐标以窗口左上角为原点)。
例如,若是指定了 3 组坐标,大多数状况下窗口的形状会变成三角形,具体的形状取决于 3 组坐标的顺序。此外,在 Options 参数中也能够加上单词 Wind ,这将会使用一种弯曲的方式来决定多边形的形状。
24八、如何设置窗口的透明度?
WinSet, Transparent, N, WinTitle ;N 为一个 0 到 255 的数字:0 表示彻底透明,255 表示彻底不透明。使用单词 OFF 完全关闭窗口的透明效果。
24九、还有那种属性设置也可让窗口设置透明度?
Gui -Caption +ToolWindow.
250、设置任务栏的透明度?
WinSet, Transparent, 150, ahk_class Shell_TrayWnd
25一、如何使目标窗口中指定颜色的区域透明?
WinSet, TransColor, Color [N], WinTitle Color 参数能够是一个颜色名称或一个 RGB 值,能够在颜色参数后跟一表示透明度的数字(0 - 255)。例如:WinSet, TransColor, EEAA99 150, WinTitle 若是用户点击窗口中的透明部分,点击事件会“穿透”该窗口传递给下面的窗口。
25二、如何让窗口中白色的部分透明?
WinSet, TransColor, White, Untitled - Notepad ;
25三、如何彻底关闭窗口的透明设置?
WinSet, Transparent, Off, WinTitle 或者 WinSet, TransColor, Off, WinTitle
25四、取消脚本的 SplashText 窗口的置顶状态?
WinSet , AlwaysOnTop , Off , SplashText窗口的标题
25五、让窗口只显示指定的方形部分?
WinSet, Region, 50-0 W200 H250, WinTitle
25六、让窗口有圆角的方形?
WinSet, Region, 50-0 W200 H250 R40-40, WinTitle
25七、倒三角形窗口?
WinSet, Region, 50-0 250-0 150-250, WinTitle
25八、将窗口恢复原状?
WinSet, Region,, WinTitle
25九、在窗口中建立了一个方形的“洞”?
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]
26一、WinGet中 Cmd参数处如留空或是ID有何含义?
返回窗口的 uID(HWND/句柄)。
26二、WinGet中 Cmd参数处为IDLast有何含义?
当匹配的窗口超过一个的时候,它返回的是 最底端/最后使用 的窗口的 ID。
26三、WinGet中 Cmd参数处为PID有何含义?
返回窗口的 进程ID(PID)。
26四、WinGet中 Cmd参数处为ProcessName有何含义?
返回窗口所属进程的进程名称
26五、WinGet中 Cmd参数处为Count有何含义?
返回符合指定条件的窗口数量(若是没有匹配窗口则返回 0 )。要统计当前总窗口数,省略全部和 标题/文本 有关的参数。
26六、WinGet中 Cmd参数处为List有何含义?
返回全部符合指定条件的窗口的 uID 。每一个 ID 由一个 数组元素 存储,数组元素名从 OutputVar 开始,而 OutputVar 自己则存储了数组的长度。例如,OutputVar 使用 MyArray ,有 2 个匹配窗口,则变量 MyArray1 存储了第一个窗口的 ID ,变量MyArray2 存储了第二个窗口的 ID
26七、WinGet中 Cmd参数处为MinMax有何含义?
返回窗口的 最小化/最大化 状态。返回下列数值之一:-1:窗口处于最小化状态; 1:窗口处于最大化状态。0:窗口既不处于最大化也不处于最小化状态。
26八、WinGet中 Cmd参数处为ControlList有何含义?
返回一个列表,包含窗口中全部控件的名称。每一个控件的名称由它的 class 名和序号(ClassNN)组成,除了最后一个控件的名称以外,每一个名称后都跟着一个换行符(`n)。要单独遍历全部的控件名称,使用 parsing loop
26九、WinGet中 Cmd参数处为ControlListHwnd何义?
功能同上,不一样的是它返回的是控件的 窗口句柄(HWND)。
270、WinGet中 Cmd参数处为Transparent有何含义?
返回窗口的透明度,OutputVar 存储一个 0 到 255 之间的值,0 表示彻底透明,255 表示不透明。
27一、WinGet中 Cmd参数处为TransColor有何含义?
返回窗口的透明色OutputVar 存储一个 6 位的十六进制数,表示 RGB 颜色如 0x00CC99 。
27二、WinGet中 Cmd参数处为Style 或 ExStyle何含义?
返回一个 8 位的十六进制数,表示窗口的样式或扩展样式。
27三、检测一个窗口是否具备 WS_DISABLED 样式?
WinGet, Style, Style, My Window Title
if (Style & 0x8000000) ; 0x8000000 表示 WS_DISABLED
27四、检测一个窗口是否具备置顶样式?
WinGet, ExStyle, ExStyle, My Window Title
if (ExStyle & 0x8) ; 0x8 表示 WS_EX_TOPMOST.
27五、激活当前窗口并得到位置、大小信息?
WinGetActiveStats, Title, Width, Height, X, Y 说明:Title 存储当前激活窗口的标题。Width/Height 存储当前激活窗口的宽或高。X, Y 存储当前激活窗口左上角坐标标。
27六、获取当前激活窗口的标题?
WinGetActiveTitle, OutputVar
27七、如何获得指定窗口的 class 名?
WinGetClass, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]
27八、如何获得指定窗口的位置和大小?
WinGetPos [, X, Y, Width, Height, WinTitle, WinText, ExcludeTitle, ExcludeText]
X, Y 目标窗口左上角的坐标。Width/Height 目标窗口的宽或高。如参数 WinTitle 使用“Program Manager”,该命令会返回桌面
27九、如何获得指定窗口中的文本?
WinGetText, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]
OutputVar 存储获取的文本。每一个获取的文本元素以后都跟着一个回车换行符,在脚本中用 `r`n 表示。
280、如何获得指定窗口的标题?
WinGetTitle, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]
28一、如何激活指定窗口,将它置于最前端?
WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText ]
28二、等待直到 剪贴板中含有数据为止?
ClipWait [, 等待N秒, 1] 参数若省略,则等候时间无期限。
28三、如何加载某个外部文件中定义的 函数?
#Include 文件名或目录名 或者 #IncludeAgain 文件名或目录名
如:#Include C:\My Documents\Scripts\Utility Subroutines.ahk
#Include 会确保每一个文件仅被装入一次,#IncludeAgain容许屡次装入同一个文件。
给文件名参数前加上一个 *i 前缀和一个空格符后,程序将忽略加载装入文件时发生的任何错误。例如:#Include *i SpecialOptions.ahk。ide