按字母排序的命令和函数索引

AutoHotKey

按字母排序的命令和函数索引

点击命令或函数名称了解详情.大字体显示 的条目是最常用的.

条目 说明
{ ... }(区块) 一对大括号组成的区域表示一个区块. 区块通常与函数, Else, Loop, While 循环和 IF 命令一起使用.
{ ... } / Object() 创建脚本化关联数组.
[ ... ] / Array() 创建含整数键的脚本化关联数组.
Abs() 返回 Number 的绝对值.
AutoTrim 设置在 Var1 = %Var2% 这样的语句中进行赋值时是否忽略 Var2 的前导和尾随空格和 tab.
Asc() 返回指定字符的第一字节的数值或 UTF-16 编码单元.
ASin() 返回弧度表示的反正弦值 (其正弦值为 Number).
ACos() 返回弧度表示的反余弦值(其余弦值为 Number).
ATan() 返回弧度表示的反正切值(其正切值为 Number).
BlockInput 禁用或启用用户通过键盘和鼠标与计算机交互的能力.
Break 退出(终止)循环. 在各种循环中都是有效的.
Catch 指定在执行 try 语句发生异常时执行的代码.
Ceil() 返回由 Number 向上取整到最近的整数(不带任何 .00 后缀).
Chr() 返回字符码 number 所对应的字符串 (通常只有一个字符).
Click 在指定坐标处点击鼠标按钮. 它还可以按下鼠标按钮, 转动鼠标滚轮或移动鼠标.
ClipWait 等待, 一直到剪贴板包含数据.
ComObjActive() 获取注册的 COM 对象.
ComObjArray() 创建用于 COM 的 SAFEARRAY.
ComObjConnect() 连接 COM 对象的事件源到带有给定前缀的函数.
ComObjCreate() 创建 COM 对象.
ComObjEnwrap() / ComObjUnwrap() 包装/解开 COM 对象.
ComObjError() 启用或禁用 COM 错误通告.
ComObjFlags() 获取或改变控制 COM 包装器对象行为的标志.
ComObjGet() 返回由 COM 组件提供的对象引用.
ComObjMissing() 创建传递给 COM 方法的"遗漏参数"对象.
ComObjParameter() 把值和类型包装成参数传递给 COM 方法.
ComObjQuery() 查询 COM 对象的接口或服务.
ComObjType() 从 COM 对象获取类型信息.
ComObjValue() 获取存储在 COM 包装器对象中的值或指针.
Continue 跳过当前循环的剩余部分并继续下一次循环. 在各种循环中都是有效的.
Control 对控件进行各种改变.
ControlClick 发送鼠标按钮或鼠标滚轮事件到控件.
ControlFocus 设置输入焦点到窗口的指定控件上.
ControlGet 获取控件的各种类型的信息.
ControlGetFocus 如果有, 则获取目标窗口中含输入焦点的控件.
ControlGetPos 获取控件的位置和大小.
ControlGetText 获取控件的文本.
ControlMove 移动控件或调整其大小.
ControlSend / ControlSendRaw 发送模拟键击到窗口或控件.
ControlSetText 改变控件的文本.
CoordMode 为多个命令设置坐标模式, 相对于活动窗口还是屏幕.
Cos() 返回 Number 的余弦三角函数值.
Critical 防止当前线程被其他线程中断, 或开启允许被中断.
DetectHiddenText 设置在探测窗口时窗口中隐藏的文本是否"可见". 此设置影响例如 IfWinExist 和 WinActivate 的这些命令.
DetectHiddenWindows 设置脚本是否可以"看见"隐藏的窗口.
DllCall() 调用 DLL 文件中的函数, 例如标准的 Windows API 函数.
Drive 弹出/收进 CD 或 DVD 驱动器托盘, 或设置驱动器的卷标.
DriveGet 获取计算机驱动器的各种类型的信息.
DriveSpaceFree 获取驱动器的可用磁盘空间, 单位为 MB.
Edit 在关联编辑器中打开当前脚本进行编辑.
Else 指定当 IF 语句计算结果为 FALSE 时执行的命令. 包含多个命令时, 需要把它们括在区块(大括号)中.
EnvAdd 设置变量的值为它自身加上给定的值的和(还可以从日期-时间值中增加或减去时间). 同义于:Var += Value.
EnvDiv 设置变量的值为它自身除以给定的值. 同义于:Var /= Value.
EnvGet 获取环境变量的内容.
EnvMult 设置变量的值为它自身乘以给定的值. 同义于:Var *= Value.
EnvSet 向系统环境中的变量写入值.
EnvSub 设置变量的值为它自身减去给定的值(还可以比较日期-时间值). 同义于:Var -= Value.
EnvUpdate 通知操作系统和所有正在运行的程序环境变量已经改变.
Exit 退出当前线程或(如果脚本不是持续运行的且不包含热键时)整个脚本.
ExitApp 无条件终止脚本.
Exp() 返回 e(其近似值为 2.71828182845905)的 N 次幂.
FileAppend 在文件末尾处追加文本(如果有必要, 首先创建文本).
FileCopy 复制一个或多个文件.
FileCopyDir 复制文件夹及其所有子文件夹和文件(类似于 xcopy).
FileCreateDir 创建文件夹.
FileCreateShortcut 创建快捷方式(.lnk)文件.
FileDelete 删除一个或多个文件.
FileEncoding FileRead, FileReadLine, Loop Read, FileAppendFileOpen 设置默认编码.
也请参见: 文本编码
FileExist() 检查文件或目录是否存在并返回它的属性.
FileInstall 封装指定的文件到脚本的已编译版本中.
FileGetAttrib 报告文件或文件夹是否为只读, 隐藏等.
FileGetShortcut 获取快捷方式(.lnk)文件的信息, 例如其目标文件.
FileGetSize 获取文件的大小.
FileGetTime 获取文件或文件夹的时间戳.
FileGetVersion 获取文件的版本.
FileMove 移动或重命名一个或多个文件.
FileMoveDir 移动文件夹及其所有子文件夹和文件. 它还可以重命名文件夹.
FileOpen 提供面向对象的文件 I/O.
FileRead 读取文件的内容到变量.
FileReadLine 读取文件指定行的文本并保存到变量.
FileRecycle 发送文件或目录到回收站, 如果可行.
FileRecycleEmpty 清空回收站.
FileRemoveDir 删除文件夹.
FileSelectFile 显示可以让用户打开或保存文件的标准对话框.
FileSelectFolder

显示可以让用户选择文件夹的标准对话框.

FileSetAttrib 改变一个或多个文件或文件夹的属性. 支持通配符.
FileSetTime 改变一个或多个文件或文件夹的时间戳. 支持通配符.
Finally 确保在 Try 语句结束后总是会执行的代码块.
Floor() 返回由 Number 向下取整到最近的整数(不带任何 .00 后缀).
For 对对象中的每对键值对重复执行一系列命令.
Format 将输入的变量数值转换为格式化文本.
FormatTime 转换 YYYYMMDDHH24MISS 时间戳到指定的日期/时间格式.
Func() 获取函数的引用.
GetKeyName() 获取按键的名称或文本.
GetKeyVK() 获取按键的虚拟键代码.
GetKeySC() 获取按键的扫描码.
GetKeyState 检查键盘按键或鼠标/操纵杆按钮是否按下或放开.也可以获取操纵杆的状态.
Gosub 跳转到指定的标签继续执行, 直到遇到 Return.
Goto 跳转到指定的标签并继续执行.
GroupActivate 激活由 GroupAdd 定义的窗口组中的下一个窗口.
GroupAdd 增加窗口规格到窗口组, 必要时创建组.
GroupClose 关闭刚刚由 GroupActivateGroupDeactivate 激活的活动窗口.接着激活系列中的下一个窗口.它还可以关闭组中所有窗口.
GroupDeactivate 类似于 GroupActivate, 不同的是它激活在组中的下一个窗口.
Gui 创建和管理窗口和控件.这种窗口可以用作数据输入窗体或自定义用户界面.
GuiControl 对 GUI 窗口中的控件进行各种设置.
GuiControlGet 获取 GUI 窗口中控件的各种类型的信息.
Hotkey 在脚本运行时创建, 修改, 启用或禁用热键.
if 指定在变量与值比较结果为 TRUE 时执行的命令. 包含多个命令时, 需要把它们括在区块(大括号)中.
if(表达式) 指定在表达式计算结果为 TRUE 时执行的命令.
If var [not] between 根据数值或字母顺序检查变量的内容是否在两个值之间(包含边界).
If var [not] in/contains MatchList 检查变量的内容是否匹配列表中的某项.
If var is [not] type 检查变量的内容是否为数值, 大写字母或其他.
IfEqual / IfNotEqual 比较变量和值判断它们是否相等. 同义于:if Var = Value | if Var <> Value.
IfExist 检查文件或文件夹是否存在.
IfGreater / IfGreaterOrEqual 比较变量和某个值.同义于:if Var > Value | if Var >= Value.
IfInString / InStr() 检查变量是否包含指定的字符串.
IfLess / IfLessOrEqual 比较变量和某个值.同义于:if Var < Value | if Var <= Value.
IfMsgBox 检查用户在最近的 MsgBox 命令中点击了哪个按钮.
IfWinActive / IfWinNotActive
检查指定的窗口是否存在且当前是否活动(在最前面).
IfWinExist / IfWinNotExist
检查指定的窗口是否存在.
ImageSearch 在屏幕的某个区域中搜索图像.
IniDelete 删除标准格式的 .ini 文件中的值.
IniRead 读取标准格式的 .ini 文件中的值.
IniWrite 写入值到标准格式的 .ini 文件.
Input 等待用户输入字符串.
InputBox 显示输入框让用户输入字符串.
InStr() 搜索字符串的出现位置, 从左边或右边开始.
IsByRef() 判断变量是否是 ByRef 参数.
IsFunc() 检查是否存在指定的函数.
IsLabel() 检查是否存在指定的标签.
IsObject() 判断某个值是否为对象.
KeyHistory 显示脚本信息和最近键击和鼠标点击的历史.
KeyWait 等待按键或鼠标/操纵杆按钮被松开或按下.
ListHotkeys 显示当前脚本包含的热键, 不论它们的子程序当前是否运行, 也不论它们是否使用键盘鼠标钩子.
ListLines 显示最近执行的脚本行.
ListVars 显示脚本的变量:它们的名称和当前的内容.
LoadPicture() 载入一个图像文件并返回一个位图或图标句柄.
Log() 返回 Number 的对数(底数为 10).
Ln() 返回 Number 的自然对数(底数为 e).
Loop(普通) 重复执行一系列命令:可以指定表示重复次数的数字或直到遇到 break.
Loop(文件和文件夹) 获取指定的文件或文件夹, 每次一个.
Loop(解析字符串) 从一个字符串中获取子字符串(片段), 每次一个.
Loop(读取文件内容) 逐行读取文本文件的内容, 每次一行(比 FileReadLine 执行的更好).
Loop (registry) 获取指定的注册表子键的内容, 每次一个项目.
Menu 创建, 删除, 修改和显示菜单和菜单项. 改变托盘图标和它的提示. 控制是否可以打开已编译脚本的主窗口.
MenuGetHandle 获取菜单的 Win32 menu 句柄.
MenuGetName 通过指定的底层 Win32 menu 句柄, 获取菜单的名称.
Mod() 求模.返回被除数 Dividend 除以除数 Divisor 后得到的余数.
MouseClick 点击或按住鼠标按钮, 或滚动鼠标滚轮. 注意:Click 命令通常更灵活和易于使用.
MouseClickDrag 点击并按住指定的鼠标按钮, 接着移动鼠标到目标坐标, 然后松开按钮.
MouseGetPos 获取鼠标光标的当前位置以及鼠标当前悬停的窗口和控件(可选的).
MouseMove 移动鼠标光标.
MsgBox 在含有一个或多个按钮(例如"是"和"否")的小窗口中显示指定的文本 .
NumGet() 返回在指定地址+偏移的位置存储的二进制数.
NumPut() 以二进制格式把数字存储到指定地址+偏移的位置.
ObjAddRef() / ObjRelease() 增加或减少对象的 引用数.
ObjBindMethod() 创建一个 函数捆绑对象, 它能够绑定参数值或方法名至目标对象.
ObjClone()
ObjDelete()
ObjGetAddress()
ObjGetCapacity()
ObjHasKey()
ObjInsert()
ObjInsertAt()
ObjLength()
ObjMaxIndex()
ObjMinIndex()
ObjNewEnum()
ObjPop()
ObjPush()
ObjRemove()
ObjRemoveAt()
ObjSetCapacity()
这些函数等同于 对象 的内置方法. 通常建议使用相应的方法代替.
ObjRawSet() 存储或覆盖对象中的一组键值对, 绕过对象的 元函数.
OnClipboardChange() 注册一个每当剪贴板内容发生改变时都会运行的 函数 or 函数对象.
OnExit 指定在脚本退出时自动运行的子程序.
OnMessage() 指定当脚本接收到特定消息时自动调用的函数.
Ord() 返回 String 中第一个字符的有序字符编码数值.
OutputDebug 发送字符串到调试器(如果有)显示出来.
Pause 暂停脚本的当前线程.
PixelGetColor 获取指定的 x, y 坐标处像素的颜色.
PixelSearch 在屏幕某个区域中搜索指定颜色所在的像素.
PostMessage 放置消息到窗口或控件的消息队列.
Process 对进程执行下列的其中一个操作:检查进程是否存在;改变进程的优先级;关闭进程;等待进程关闭.
Progress 创建或更新包含进度条的窗口.
Random 生成伪随机数.
RegExMatch() 判断字符串是否包含某个匹配模式(正则表达式).
RegExReplace() 替换字符串中匹配模式(正则表达式)出现的地方.
RegDelete 从注册表中删除子键或值.
RegRead 从注册表读取值.
RegWrite 写入值到注册表.
RegisterCallback() 创建机器码地址, 当它被调用时会重定向到脚本中的函数.
Reload 使用新的脚本实例替换当前正在运行的实例.
Return 从子程序返回到之前通过函数调用, Gosub, 激活 Hotkey, GroupActivate 或其他方式执行跳转的地方.
Round() 如果 N 省略或为 0, 则 Number 被取整到最近的整数. 如果 N 为正数, 则 Number 被取整到 N 个小数位. 如果 N 为负数, 则 Number 被取整到十进制小数点左边 N 位.
Run 运行外部程序.
RunAs 指定在后续所有的 RunRunWait 中使用的一组用户凭据.
RunWait 运行外部程序 并等待其结束.
Send / SendRaw / SendInput / SendPlay 发送模拟键击和鼠标点击到活动窗口.
SendLevel 控制热键和热字串是否忽略模拟的键盘和鼠标事件.
SendMessage 发送消息到窗口或控件并等待确认.
SendMode Send 和 SendInput 或 SendPlay 具有相同的功能而不是默认的(SendEvent).也使 Click 和 MouseMove/Click/Drag 使用指定的方法.
SetBatchLines 设置脚本的执行速度(影响 CPU 使用率).
SetCapslockState 设置 Capslock 键的状态.还可以强制此键保持打开或关闭状态.
SetControlDelay 设置在每次控件修改命令执行后自动的延时.
SetDefaultMouseSpeed 设置在 ClickMouseMove/Click/Drag 中没有指定鼠标速度时使用的速度.
SetEnv (Var = Value) 把指定的值赋给变量.
SetFormat 设置数学运算得到的整数和浮点数的格式.
SetKeyDelay 设置每次 SendControlSend 发送键击后自动的延时.
SetMouseDelay 设置每次鼠标移动或点击后自动的延时.
SetNumlockState 设置 Numlock 键的状态.还可以强制此键保持打开或关闭状态.
SetScrollLockState 设置 Scrolllock 键的状态.还可以强制此键保持打开或关闭状态.
SetRegView 允许 32 位脚本中的注册表命令访问 64 位注册表视图, 反之亦然.
SetStoreCapslockMode 设置在 Send 后是否恢复 CapsLock 的状态.
SetTimer 以指定的时间间隔自动并重复运行子程序.
SetTitleMatchMode 设置在类似 WinWait 命令中 WinTitle 参数的匹配模式.
SetWinDelay 设置在每次执行窗口命令(例如 WinActivate)后自动的延时.
SetWorkingDir 改变脚本的当前工作目录.
Shutdown 关闭, 重启或注销系统.
Sin() 返回 Number 的正弦三角函数值.
Sleep 在继续前等待指定的时间量.
Sort 以字母, 数字或随机顺序排列变量的内容(可以选择是否移除重复项).
SoundBeep 让 PC 扬声器发出蜂鸣音.
SoundGet 从音频设备中获取各种设置(主静音, 主音量等).
SoundGetWaveVolume 获取音频设备的波形输出音量.
SoundPlay 播放音频, 视频或其他支持的文件类型.
SoundSet 改变音频设备的各种设置(主静音, 主音量等).
SoundSetWaveVolume 改变音频设备的波形输出音量.
SplashImage 创建或更新含 JPG, GIF 或 BMP 图像的窗口.
SplashTextOn 创建自定义文本的弹出窗口.
SplashTextOff 关闭上面的窗口.
SplitPath 把文件名或 URL 分解成它的名称, 目录, 扩展名和驱动器.
Sqrt() 返回 Number 的平方根.
StatusBarGetText 获取标准状态栏控件的文本.
StatusBarWait 等待窗口的状态栏包含指定的字符串.
StrPut() / StrGet() 复制字符串到内存地址或来自内存地址, 并可选地对其在不同代码页间进行转换.
StringCaseSense 设置在字符串比较中是否区分大小写(默认为"不区分大小写").
StringGetPos / InStr() 获取指定的子字符串在某个字符串中的位置.
StringLeft 从字符串的左边 提取一些字符.
StringLen / StrLen() 获取字符串中包含的字符数量.
StringLower 把字符串中的英文字母转换成小写.
StringMid / SubStr() 从字符串的指定位置提取一个或多个字符.
StringReplace / StrReplace() 用新字符串替换指定的子字符串.
StringRight 从字符串的右边 提取一些字符.
StringSplit / StrSplit() 使用指定的分隔符把一个字符串分解成多个子字符串并保存到数组中.
StringTrimLeft 从字符串的左边 移除一些字符.
StringTrimRight 从字符串的右边移除一些字符.
StringUpper 把字符串中的英文字母转换成大写.
Suspend 禁用或启用所有的或选择的热键热字串.
SysGet 获取屏幕分辨率, 多显示器信息, 系统对象的尺寸和其他系统属性.
Tan() 返回 Number 的正切三角函数值.
Thread 设置线程的优先级或是否可以被中断.它也可以临时禁用所有的计时器.
Throw 发出错误发生的信号.此信号可以被 try-catch 语句捕获.
ToolTip 在屏幕的任意位置创建总是置顶的窗口.
Transform 执行各种数学计算, 按位运算以及类似 ASCII/Unicode 转换的任务.
TrayTip 在托盘图标附近创建气球提示或吐司通知窗口.
Trim 移除字符串的开始和/或末尾的某些字符.
Try 守护一个或多个语句(命令或表达式)以防备由 throw 命令抛出的运行时错误和异常.
Until 根据条件判断是否继续执行 Loop 或 For 循环.
UrlDownloadToFile 从互联网下载文件.
Var = value 把指定的值赋给变量.
Var := expression 计算表达式并把结果保存到变量.
VarSetCapacity() 增加或清空变量占用的内存. 通常只有在特殊情况下才需要, 例如 DllCall.
While 循环 重复执行一系列命令, 一直到指定的表达式计算结果为假.
WinActivate 激活指定的窗口(让它置于最前面).
WinActivateBottom WinActivate 一样, 只是此命令激活最下面的(最早激活的)匹配窗口而不是最上面的.
WinActive() 返回匹配指定条件的活动窗口的 唯一 ID(HWND).
WinClose 关闭指定的窗口.
WinExist() 返回首个匹配窗口的唯一 ID(HWND).
WinGetActiveStats 组合了 WinGetActiveTitleWinGetPos 两个命令的功能.
WinGetActiveTitle 获取活动窗口的标题.
WinGetClass 获取指定窗口的类名.
WinGet 获取指定窗口的唯一 ID, 进程 ID, 进程名或控件列表.它还可以获取匹配指定条件的所有窗口的列表.
WinGetPos 获取指定窗口的位置和大小.
WinGetText 获取指定窗口的文本.
WinGetTitle 获取指定窗口的标题.
WinHide 隐藏指定的窗口.
WinKill 强制关闭指定的窗口.
WinMaximize 最大化指定的窗口.
WinMenuSelectItem 调用指定窗口菜单栏中的菜单项.
WinMinimize 缩小指定窗口为任务栏上的按钮.
WinMinimizeAll 最小化所有窗口.
WinMinimizeAllUndo 反转前面 WinMinimizeAll 的效果.
WinMove 改变指定窗口的位置和/或大小.
WinRestore 如果指定的窗口处于最小化或最大化状态, 则还原它.
WinSet 对指定的窗口进行各种设置, 例如"总在最前面"和透明度.
WinSetTitle 改变指定窗口的标题.
WinShow 显示指定的窗口.
WinWait 等到指定的窗口出现.
WinWaitActive 等到指定的窗口处于活动状态.
WinWaitClose 等到指定的窗口消失.
WinWaitNotActive 等到指定的窗口处于不活动状态.
#ClipboardTimeout 改变当首次访问剪贴板失败后脚本会继续尝试访问剪贴板的持续时间.
#CommentFlag 把脚本的注释符号从分号改为其他字符串.
#ErrorStdOut 把阻止脚本运行的任何语法错误发送到标准输出而不显示在对话框中.
#EscapeChar 改变脚本的转义符(例如:反斜线与重音符).
#HotkeyInterval #MaxHotkeysPerInterval 一起指定热键激活的速率, 超过此速率会显示警告对话框.
#HotkeyModifierTimeout 影响热键修饰符的行为: CTRL, ALT, WIN 和 SHIFT.
#Hotstring 改变热字串选项或终止符.
#If 类似于 #IfWinActive, 但可以是任意类型的表达式.
#IfTimeout 设置计算单个 #If 表达式可以使用的最大时间.
#IfWinActive / #IfWinExist 创建上下文相关的热键热字串.这样的热键会根据窗口是否活动或存在的不同情况执行不同的动作(或什么都不做).
#Include 让脚本认为指定文件的内容会出现在这个准确的位置.
#InputLevel 控制热键和热字串是否忽略模拟的键盘和鼠标事件.
#InstallKeybdHook 强制无条件安装键盘钩子.
#InstallMouseHook 强制无条件安装鼠标钩子.
#KeyHistory 设置在 KeyHistory 窗口中显示的键盘和鼠标事件的最大数目.您可以将其设置为 0 来禁用按键历史.
#LTrim 启用或禁用延续片段中缩进的去除.
#MaxHotkeysPerInterval #HotkeyInterval 一起指定热键激活的速率, 超过此速率会显示警告对话框.
#MaxMem 设置每个变量可使用的最大内存兆数.
#MaxThreads 设置可同时存在的线程的最大数目.
#MaxThreadsBuffer 当某些或所有的热键达到 #MaxThreadsPerHotkey 限制时, 这个指令让它们缓冲而不是忽略键击.
#MaxThreadsPerHotkey 设置每个热键热字串可同时存在的最大线程数.
#MenuMaskKey 改变用来屏蔽 Win 或 Alt keyup 事件的按键.
#NoEnv 不检查空变量是否为环境变量(建议所有新脚本使用).
#NoTrayIcon 不显示托盘图标.
#Persistent 让脚本持久运行(即直到用户关闭或遇到 ExitApp).
#SingleInstance 决定当脚本已经运行时是否允许它再次运行.
#UseHook 强制使用钩子实现全部或部分键盘热键.
#Warn 启用或禁用为选择的情况提示开发者错误的警告.
#WinActivateForce 跳过温和的方法而直接使用强制的方法激活窗口.