《AutoHotKey学习知识重点汇总整编.doc》由会员分享,可在线阅读,更多相关《AutoHotKey学习知识重点汇总整编.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-*AutoHotKey知识点整理 1、MsgBox命令有几种格式?MsgBox, 文本 或 MsgBox , 类型,标题, 文本, 显示时间 2、MsgBox命令按钮有几种类型?OK0OK/Cancel1Abort/Retry/Ignore2Yes/No/Cancel3Yes/No4Retry/Cancel5Icon Hand (stop/error)16Icon Question32Icon Exclamation48Icon Asterisk (info)64Make 2nd button the default256Make 3rd button the default512Syste
2、m Modal (always on top) 4096Task Modal8192 这些参数允许相加而得到复合效果。3、显示含有yes/no按钮并总在顶端的对话框?msgbox,4100,标题,内容4、MsgBox如何换行?MsgBox,你好,欢迎关注静海安澜阁 n 请继续关注5、如何对MsgBox命令的选择结果进行处理?IfMsgBox, ButtonNameButtonName可选项: Yes No OK Cancel Abort Ignore Retry Timeout6、对话框显示时间,并以秒为单位?msgbox , , 标题 , 内容 , 57、运行外部可执行程序或者直接打开文件?
3、Run, 目标文件 , 工作目录 , Max|Min|Hide|UseErrorLevel , 输出PID 变量8、如何运行记事本并以最大化状态显示?Run, Notepad.exe , , Max9、如何直接打开文件?Run, MyFile.txt10、命令行解释器cmd.exe 用那个宏来表示?%ComSpec% /k在执行完命令后保留命令提示窗口,而/c则在执行完命令之后关闭提示窗口11、命令“dir c:Windowssystem32”如何实现?Run, %ComSpec% /k dir c:Windowssystem3212、如何打开网页?Run, http:/ control sy
4、sdm.cpl 需要的话可以搜索所有的*.cpl文件14、打开控制面板?run,control15、如何打开搜索窗口且指定搜索位置?Run, find C:16、如何显示指定文件的属性窗口?Run, properties MyFile.txt 注意:AHK 在退出前将自动关闭打开的属性窗口!17、如何打印指定文件?Run, print MyFile.txt18、等待窗口出现、被激活、被关闭用那些命令?WinWait/WinWaitActive/WinWaitClose19、如何使目标窗口出现之前不执行后面语句?WinWait , 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本20、如
5、何使目标窗口成为活动窗口?WinActivate ,窗口标题, 窗口文本, 排除标题, 排除文本21、关闭窗口有几种方式?正常关闭窗口(WinClose ),强行关闭窗口(WinKill):WinClose/WinKill , 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本22、同名窗口使我们无法用窗口标题准确标识窗口,如何使用窗口ID来准确定位窗口?使用获得窗口句柄的命令WinGetWinGet, 输出变量, CMD, 窗口标题, 窗口文本, 排除标题, 排除文本23、如何用窗口ID来替代窗口标题?ahk_pid %ThisPID%24、那个命令把鼠标点击事件发送到目标窗口的目标控
6、件上?ControlClick , 目标控件或坐标位置, 窗口标题, 窗口文本, 鼠标按钮, 点击次数, 选项, 排除标题,排除文本25、ControlClick命令中,目标控件参数主要是什么?目标控件参数是指要点击的控件的类别名(ClassNN)或控件文本,还可以使用控件句柄(若用的是控件句柄则第一个参数需留空,并在第二个参数中使用ahk_id %控件句柄%)。26、如何获得目标控件信息?先打开你要进行操作的目标窗口,然后运行AutoIt3 Window Spy,把鼠标移到目标控件上27、鼠标单击系统属性确定按钮代码是?ControlClick, 确定, 系统属性ControlClick,
7、Button2, 系统属性28、目标窗口或控件是隐藏状态,ControlClick还可以点击目标控件吗?可以点击目标控件,但不能保证成功率。29、如何设置控件文本?ControlSetText , 目标控件, 新文本, 窗口标题, 窗口文本, 排除标题, 排除文本例如:ControlSetText, Edit1, D:foobar2000, Setup foobar30、如何选中和取消单选框和复选框项目中的选择项目?Control , 命令, 值, 目标控件, 窗口标题, 窗口文本, 排除标题, 排除文本其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令
8、是“Check”和“UnCheck ”。例如:Control, Check, , Button5, foobarControl, UnCheck, , Button7, foobar31、如何选择下拉列表的项目?仍是使用Control命令,适用的命令是“Choose, N”和“ChooseString, String”,分别表示选中第N个项目和选中与字符串String匹配的项目;例如:Control, Choose, 5, ComboBox1, InstallerControl, ChooseString, 简体中文, ComboBox1, Installer32、键盘如何重定义?a:b33、
9、字符串如何进行自动替换?:is:island of resistance或者:china:Clipboard=中华人民共和国send,VReturn34、屏蔽或开启键盘、鼠标?BlockInput 命令后,紧跟on,则屏蔽键盘鼠标操作,紧跟off,则重新启用用户输入。如何仅仅屏蔽鼠标?如何恢复? BlockInput,MouseMove 恢复为:BlockInput, MouseMoveOff35、如何建立一个弹出式窗口例示文本?如何关闭?SplashTextOn , 宽度, 高度, 标题, 文本n 可以在MsgBox和SplashTextOn等命令中对显示的文本进行换行。SplashText
10、Off 为关闭SplashTextOn命令建立的弹出式窗口。36、如何将一系列指令重复执行指定次数? Loop , Count循环体37、Loop中的count允许是表达式或者变量吗?Count不允许是表达式,但允许是一个变量。如何知道loop现在循环到第几次? loop 指令隐含有一个变量 A_Index ,用来记录当前状态是第几次循环38、如何中断循环?if a_index 25break ; 中断循环39、如何跳过本次循环?if a_index 20continue ; 跳过本次循环,开始一次新的循环40、如何使使脚本等待指定时间?Sleep,时间 单位为毫秒41、如进行数学运算,使用什
11、么符来把表达式运算的结果赋予某变量?使用冒号等号符。如:NetPrice := Price * (1 - Discount/100)42、i := i+1 的简化写法是什么?i + =143、如何获取指定区间的随机数?Random, 输出变量 , 最小值, 最大值44、如何从指定文本中读取指定行?FileReadLine, 输出变量, 文件名, 行数45、如何判断文本超出边界?ErrorLevel 是命令内置的一个变量,当读取文件超出边界时将被赋值为1.46、ErrorLevel 为0和1时一般代表什么?一般情况下,为0代表操作成功,为1,代表操作失败。47、一般情况下,编写弹出式菜单代码的顺
12、序是什么?1、先定义子菜单项;2、编写菜单项;3、编写令菜单显示的代码;4、编写删除代码;5、编写响应代码。48、如何添加子菜单?Menu,add,子菜单项,:子菜单变量如:menu,mymenu,add,常用程序,:amenu49、用来在弹出式菜单中显示一条分割线的代码是?Menu, MenuName, add50、正常菜单项的代码是?Menu, MenuName, add,菜单项,响应标志51、响应代码的格式是?响应标志:响应代码return52、形如:Menu,amenu,add,txt 的代码是什么意思?它其实是Menu,amenu,add,txt,txt 的一种简写,代表菜单项和响应
13、标志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 或者#NoTrayIcon58、显示脚本
14、图标的代码?Menu , tray , icon59、脚本图标的气泡提示如何显示?Menu , tray , tip , 我自己的脚本60、如何设置脚本的图标?Menu , tray , icon , %systemroot%system32shell32.dll ,22或者Menu , tray , icon , e:ico1.ico61、如何利用快捷键退出脚本?#x:ExitApp62、如何移除托盘图标的所有标准菜单项?Menu , tray , NoStandard63、如何插入托盘图标菜单?Menu , tray , add , myitem64、如何显示托盘图标的标准菜单项?Menu
15、 , tray , standard65、在托盘图标显示一个二级菜单代码如何表示?menu,mymenu,add,bokemenu,mymenu,add,luntanmenu,tray,add,相关网站,:mymenuReturn 注意:响应标志后是 :不是:66、如何使非热键类的脚本持久运行?#Persistent67、显示一个标准的文件选择对话框的代码为?FileSelectFile, OutputVar , Options, RootDir, Prompt, FilterOption 参数如被省略,则为单选。M 多选,M后允许随意跟随一个数字。S: 显示保存对话框。数字为一般为3,即文件
16、及路径必须存在。Filter 参数格式如:Example: Audio (*.wav; *.mp2; *.mp3)68、FileSelectFile命令如用户选择了多个文件,输出变量如何分割?输出变量用(n)字符分割。第一个参数为路径,随后紧跟选定的各个文件名。if files =MsgBox, 用户放弃选择。Loop, parse, files, nif a_index = 1mypath = %A_LoopField%elserunwait, %mypath%A_LoopField%return69、运行并等待程序完成的指令是?runwait70、从某字符串中逐次分解出一个个的子串。Loo
17、p, Parse , 某字符串 , 用于分割的特征变量71、用对话框显示音量递增10%?MsgBox, 音量递增10%72、使静音或者取消静音状态?SoundSet, +1, , mute 或者Send,Volume_Mute73、使主音量提升(降低)10%?SoundSet ,+(-)10, MASTER74、使音量中波形音量提升(降低)10%?SoundSet , +(-)10, WAVE75、#NoEnv 作用是什么?主要是为了与以后兼容,也可以改善性能76、如何对某些多媒体功能键重定义?建个脚本内容为#InstallKeybdHook并执行,双击图标,窗口中选择菜单 view 第四项
18、key 开头的然后按多媒体键,f5刷新,看第二列内容比如a,显示的值是01e 。使用时就是sc01e:msgbox77、显示器的宽度和高度用那两个常数表示?A_ScreenWidth 和 A_ScreenHeight78、如何移动鼠标光标?MouseMove, X, Y , Speed, R Speed 参数的范围在 0 (最快) to 100 (最慢)之间取值.R 参数 如果有此参数,则鼠标移动将以当前位置为基准,进行 x 和 y 像素的位移.79、如何获取当前鼠标坐标?MouseGetPos, X, Y80、MouseGetPos还有什么作用?MouseGetPos 指令用来返回鼠标的当前
19、位置,以及鼠标当前悬停的窗口和控件。格式为:MouseGetPos, OutputVarX, OutputVarY, OutputVarWin, OutputVarControlOutputVarWin 这个变量存储了当前鼠标悬停的窗口的ID ,即使窗口未处于激活状态。OutputVarControl 这个变量存储了当前鼠标悬停的控件的名称(ClassNN)。81、MouseGetPos 命令在最后有1、2、3参数是什么意思?1:在多文档界面程序(例如 SysEdit 或 TextPadThis )中可以准确的获取激活或置顶的子窗口信息。对其它情况就不那么准确了。2 :在 OutputVarC
20、ontrol 中存储 controls HWND/窗口句柄。3 :同时包含 1 和 2 的功能。82、如何在屏幕上建立一个紧随鼠标的弹出式窗口?ToolTip , Text, X, Y83、如何获得当前位置像素的颜色RGB的值?PixelGetColor, OutputVar, X, Y , RGB84、如何在系统托盘建立一个弹出式窗口?TrayTip , Title, Text, Seconds, Options 注意senconds的取值一般在10到30之间85、如何用指定时间间隔自动或重复激发某子程序?SetTimer , Label , 时间间隔86、关闭某进程的代码是?Process
21、,close,autohotkey.exe87、如何检索鼠标所在位置的信息?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、如何设置鼠标速度?SetDefault
22、MouseSpeed 30; 默认的是2 ,可以从0调到100,越小越快92、如何设置鼠标动作结束之后的延迟?SetMouseDelay 30; 默认是10毫秒93、如何实现ctrl+鼠标双击?send click 100,200 294、使滚轮向上滚2次?click wheelup 2 ; wheelup 可以写成WU95、滚轮向下滚一次?click wheeldown ;wheeldown 可以简化为WD96、使鼠标滚轮向下滚5次有几种方法?Click , WD,5或loop 5click WD97、当前位置鼠标单击左键click ;right 右键,left左键(默认可省略),middl
23、e 中键98、当前位置鼠标双击左键?click 299、移动鼠标到30,40?click 30 , 40 , 0100、点击鼠标右键的代码如何编写?Click , 100 , 200 , right101、如果鼠标点击的坐标是动态的如何表达?Click %x% %y%102、拖动某图标?click 30,40 downclick 50,60 up103、如何设置一个进度条?Progress , %i% , 进度条下文本 , 进度条上文本 , 标题104、如何创建快捷方式?FileCreateShortcut, 目标文件, 快捷方式名 , 工作目录, 用空格分开的参数, 描述, 图标, 快捷键,
24、 图标标号, 运行状态注意:只需指定单个按键,所有的快捷键被指定为 CTRL+ALT + 快捷键,如果给该参数指定 B,将会产生一个 CTRL-ALT-B 的快捷键。运行状态1 - 正常(默认)3 - 最大化7 - 最小化105、空格键space106、向左的箭头Left107、ctrl键?108、alt键?!109、回车?enter110、小键盘的1?Numpad1111、Windows键?#112、Shift键?+113、逻辑与,把多个按键或鼠标组合成一个自定义键?&114、一对按键中的左边的按键? 25 break . if var = 5 continue163、如何确定是否删除首位空
25、格和Tab的设置?判断% A_AutoTrim% (On 或者Off )164、单个空格和单个Tab用哪个常量表示?% A_Space % 和 % A_Tab %165、Var1 = %Var2% 表达式中自动省略 Var2 中首尾的空格和Tab 用哪个命令实现?AutoTrim, On166、点击或按住一个鼠标按键,或者滚动鼠标滚轮除了Click外还有哪个?MouseClick , WhichButton , X, Y, ClickCount, Speed, D|U, R167、鼠标滚轮:WU 向上滚动, WD 向下滚动滚轮,后续的 ClickCount 参数表示滚动滚轮的次数。ClickC
26、ount如省略,则默认点击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, RX1, 起始位置X2, Y2 目标位置坐标 R 相对移动171、W
27、inWaitActive,ahk_class MSPaintApp, 2中最后2代表什么?超时时间,秒为单位172、ELSE后可跟什么命令?任何单个命令都能和一个ELSE命令在同一行。如其后拥有多行,那些行必须被括入大括号。但是如果只有一行属于一个IF或一个ELSE命令,那么大括号是可选的。173、无条件地终止脚本用哪个命令?ExitApp 脚本将立即被终止,如果脚本有 OnExit 子程序,它将响应ExitApp而运行。如:onexit,as:ExitAppa:msgbox,kkReturn174、如何删除一个或多个文件?FileDelete, FilePattern。FilePattern
28、 单个文件的名称或一个像C:Temp*.tmp这样的通配符样式。如果绝对路径没被指定,FilePattern 会被假设在 %A_WorkingDir% 。175、移除包含子文件夹和文件的整个文件夹?FileRemoveDir,DirName176、如何移除只读属性FileSetAttrib, -R, C:My File.txt+ 增加属性- 取消属性 设置增加取消开关R = 只读A = 存档S = 系统H = 隐藏N = 普通 O = 脱机 T = 临时177、跳到指定的标签并且继续执行?Gosub, Label 。Label 跳转的标签、热键标签 或者 热字串标。Return脚本跳回Gosu
29、b下首个命令并继续执行。Exit终止当前的线程。178、标签可以是变量吗?Label 可以是一个 变量 如 %MyLabel%,如果Label不存在,将显示一个错误对话框。179、哪个函数可以检验标签是否存在?IsLabel(标签名) 如:if IsLabel(VarContainingLabelName)Gosub %VarContainingLabelName%180、显示一个输入对话框,接受用户输入的数据?InputBox, 输出变量 , 标题, 提示文本, HIDE, 宽度, 高度, 横坐标, 纵坐标, 必须留空, Timeout, DefaultHIDE 如果这里使用单词 HIDE
30、,那么用户的输入内容会被隐藏。这在输入密码的时候很有用。Timeout 超时时间,单位是秒。Default 输入对话框出现时默认出现在输入框中的数据。181、检查文件或文件夹或驱动器是否存在?IfExist, FilePattern或者IfNotExist, FilePattern 如:IfExist, D:MsgBox, 驱动器存在。182、从一个字符串的左边或右边开始提取一定数量的字符用那个命令?左边:StringLeft, OutputVar, InputVar, Count右边:StringRight, OutputVar, InputVar, CountCount 需要提取的字符数量
31、,OutputVar 可以和 InputVar 相同。183、如何获取字符串长度?StringLen , OutputVar , InputVar InputVar 需要统计长度的字符串变量名。184、如何将某字符串中的英文字母全部转换为大写或小写?参数中的T有什么作用?小写:StringLower, OutputVar, InputVar , T大写:StringUpper, OutputVar, InputVar , TT 如果这个参数使用字母 T ,字符串将被转换为标题格式。185、如何判断某字符串是否全部是大写或小写字母?可以使用“if var is not upper/lower”。
32、186、如何从字符串中指定的位置返回一个或多个字符?StringMid, OutputVar, InputVar, StartChar , Count , LStartChar 提取的起始位置,Count如省略或留空,默认是一个足够存储所有字符的值。否则,该参数表示需要提取的字符数量,L从 StartChar 开始向左边提取字符187、如何对字符串中指定的子字符串进行替换?StringReplace, OutputVar, InputVar, SearchText , ReplaceText, ReplaceAll SearchText 被替换的文本,不区分大小写。ReplaceText 替换
33、的文本。ReplaceAll如省略,只有第一个匹配 SearchText 的子字符串会被替换。如果这个参数是 1 、A 或者 All ,则所有匹配的子字符串都将被替换。如果这个参数是 UseErrorLevel 将在ErrorLevel中存储被替换的子字符串的数量188、如何在剪贴板中移除换行?StringReplace, clipboard, clipboard, rn, , All189、如何从字符串的左边或右边移除指定数量的字符?左边:StringTrimLeft, OutputVar, InputVar, Count 右边:StringTrimRight, OutputVar, Inp
34、utVar, Count190、写入一个值到注册表中用那个命令?RegWrite, ValueType, RootKey, SubKey , ValueName, Value191、从注册表中读取一个值用那个命令?RegRead, OutputVar, RootKey, SubKey , ValueName192、从注册表中删除一个子键或一个值用那个命令?RegDelete, RootKey, SubKey , ValueName193、ValueType有那些可选项?只能是 REG_SZ ,REG_EXPAND_SZ ,REG_MULTI_SZ ,REG_DWORD 或者 REG_BINAR
35、Y194、RootKey 有那些可选项?只能是HKEY_LOCAL_MACHINE 、HKEY_USERS 、HKEY_CURRENT_USER 、HKEY_CLASSES_ROOT 、HKEY_CURRENT_CONFIG 其中之一(或者它们的缩写,例如 HKLM )。要访问远程注册表,在前面加上电脑名和一个冒号,例如:workstation01:HKEY_LOCAL_MACHINE195、SubKey代表什么含义?子键的名字如 SoftwareSomeApplication。如果 SubKey 不存在,将会在它的父类之下自动创建。如留空,将把值直接写入到 RootKey 中196、ValueName 代表什么?需要写入值的项的名称。如果留空或省略,