© 2019 Hotkeyit, Steve Gray, Chris Mallett, portions © AutoIt Team and various others
© 汉化:dbgba © AutoHotkey精选资源站
软件许可证:GNU General Public License
命令 / 功能 | |
---|---|
#DllImport | 为dll函数创建一个别名函数,该函数允许省略参数并使用默认值。 它还可以加载作为十六进制字符串提供的纯机器代码,请参阅示例 |
#WarnContinuableException | 不要发出H版的可继续异常警告,让它以AutoHotkey_L版那样报错执行 |
#WindowClassMain | 将主窗口类名从AutoHotkey更改为其它类名 |
#WindowClassGui | 将Gui窗口的类名从AutoHotkeyGUI更改为其它类名 |
AhkThread | 使用资源文件中包含的AutoHotkey.dll创建新线程 |
Alias | 在多线程环境中创建ByRef变量或将变量共享给其它线程 |
BinRun | 从内存运行可执行文件 |
BinToHex | 将二进制数据转换为十六进制字符串 |
CreateScript | 从 NewThread, AutoHotkey.dll, BinRun 或 DynaRun 的主脚本创建脚本 |
CriticalSection | 创建 临界区结构 使用 EnterCriticalSection 和 LeaveCriticalSection 进入和离开临界区。 多线程环境需要临界区 |
CryptAES | 加密和解密数据 |
DirGetParent | 获取文件或目录的父目录 |
DynaRun | 以新的AutoHotkey进程,动态运行代码 |
ErrorMessage | 获取A_LastError的错误消息字符串 |
FileReplace | 类似于FileAppend,但如果文件存在,则替换该文件 |
FindFunc (low level) | 获取指向函数的指针 |
FindLabel (low level) | 获取指向标签的指针 |
#NoEnv / GetEnv | 让现有脚本都使用 #NoEnv。使用 GetEnv 为脚本添加环境变量 |
GetEnv | 获取环境变量并在脚本中设置全局变量 |
HexToBin | 将十六进制字符串转换为二进制内存 |
HIBYTE | 从数值中获取高 byte |
HIWORD | 从数值中获取高 word |
IsBOM | 检查文件是否有字节顺序标记 |
LOBYTE | 从数值中获取低 byte |
LOWORD | 从数值中获取低 word |
MAKELANGID | 生成 LANGID |
MAKELCID | 生成 LCID |
MAKELONG | 生成 LONG |
MAKELPARAM | 生成 LPARAM |
MAKELRESULT | 生成 LRESULT |
MAKEWORD | 生成 WORD |
MAKEWPARAM | 生成 WPARAM |
MCodeH | 创建机器码功能 |
ResDelete | 删除可执行文件中的资源文件 |
ResDllCreate | 创建仅限资源的dll文件 |
ResExist | 检查可执行文件中是否存在资源 |
ResPut | 将资源文件从内存添加到可执行文件 |
ResPutFile | 将文件添加到可执行文件的资源中 |
Send | 支持 Sleep 的 Send 命令,例如 Send 123{100}456 将发送 123,然后 Sleep 100 毫秒再发送 456 |
sizeof | 以 字节 为单位返回 默认数据类型, 结构 或 结构定义大小, 例如 MsgBox % sizeof("TCHAR") |
StrPutVar | 将编码的字符串放入变量中 |
ToChar | 将整数 integer 转换为有符号字符 char |
ToInt | 将整数 integer 转换为有符号整数 signed integer |
ToShort | 将整数 integer 转换为有符号短整型 signed short |
ToUChar | 将整数 integer 转换为无符号字符 unsigned char |
ToUInt | 将整数 integer 转换为有符号整数 signed integer |
ToUShort | 将整数 integer 转换为无符号整数 unsigned integer |
VarSetCapacity | 当变量的缓冲区大小发生变化且未使用 FillByte,且新旧容量均大于 1 字节时,将保留/复制原始缓冲区内容到新缓冲区 |
WinApi | 将WinApi函数当作内置函数使用 |
Zip Functions | 各种用于压缩和解压缩内存中的文件或数据的 zip 函数。 ZipCreateFile, ZipAddFile, ZipCloseFile, ZipCompressionLevel, UnZip, ZipCreateBuffer, ZipAddBuffer, ZipCloseBuffer, UnZipBuffer, ZipRawMemory, UnZipRawMemory, ZipInfo, ZipOptions, ZipAddFolder |
Gui | Gui 相关功能 |
控件的自动定位和调整大小 | 当调整 Gui 的大小时,可以自动定位和调整控件的大小。控件的位置和大小将相对于 Gui 的初始大小进行调整(Gui, Show)。
支持以下自动定位选项:AX: 当图形宽度发生变化时,将控件水平移动指定的幅度。 AY: 当图形高度发生变化时,按指定量垂直移动控件。 AXP 和 AYP: 按前一个控件的移动量移动控件。 AXA 和 AYA: 按前一控件的移动量移动控件并调整大小,使控件位于前一控件的右后方或下方。 AXR 和 AWR: 重置水平重新定位。 AYR 和 AHR: 重置垂直重新定位。 支持以下自动调整大小选项:AW: 根据图形宽度的变化调整控件宽度。 AH: 根据图形高度的变化调整控件高度。 AWA 和 AHA: 以与前一个控件相同的大小调整控件宽度或高度。 |
Gui 滚动选项 | Scroll: 启用图形界面的垂直和水平滚动条。 VScroll: 启用垂直滚动条。 HScroll: 启用水平滚动条。 |
Objects 对象 | |
ComObjDll | 从 COM dll 创建 COM 对象 |
CriticalObject | 创建多线程共享保存对象 |
InputHook Option A | 使用选项 A 时,之前的输入或通过 MyInputHook.Input := Text 设置的文本不会被丢弃,相反,新的输入将被追加到文本中 |
DynaCall | 导入 Dll 函数并绑定其参数,这样我们就不需要像在 DllCall 中那样在每次调用时都要定义参数 |
ObjByRef | 以引用方式保存对象中的变量 |
ObjDump | 将对象转存到内存或文件中 |
ObjLoad | 从内存或文件中加载转储对象 |
ObjShare | 创建多线程保存 COM IDispatch 代理对象 |
Struct | 创建类似 C++ 的结构对象,使用对象语法访问和修改 |
内存模块 | 允许从内存加载 dll,如资源文件 |
MemoryFindResource | 类似 FindResource |
MemoryFreeLibrary | 类似 FreeLibrary 用于 MemoryModule |
MemoryGetProcAddress | 类似 GetProcAddress 用于 MemoryModule |
MemoryLoadLibrary | 类似 LoadLibrary 但会从内存中加载一个 dll。这样就可以通过多次加载一个 dll 来实现真正的多线程 |
MemoryLoadResource | 类似 LoadResource |
MemoryLoadString | 类似 LoadString |
MemorySizeofResource | 类似 SizeOfResource 用于 MemoryModuel | 变量 |
NULL | 新的内置变量与FALSE相同。解析为0 |
A_AhkDir | 返回当前exe的路径 |
A_IsDll | 如果从 AutoHotkey.dll 调用,则返回 1(true),否则返回 FALSE/NULL/0 |
A_DllPath | 返回当前模块的路径(dll 或 exe) |
A_DllDir | 返回当前模块的路径(dll 或 exe) |
A_ModuleHandle | 等同于 GetModuleHandle(NULL),但在使用 MemoryModule 时返回 AutoHotkey.dll 的正确 MemoryModule |
A_ScriptStruct | 返回内部 g_script 结构体的指针 |
A_GlobalStruct | 返回指向内部 g 结构体的指针 |
编译 | |
编译 AutoHotkey | 原始 AutoHotkey 只能与 AutoHotkeySC.bin 一起编译。在 AutoHotkey_H 中,可以编译任何 AutoHotkey 二进制文件(AutoHotkey.dll、AutoHotkey.exe、AutoHotkeySC.bin)。 这样就可以保持 AutoHotkey 的全部功能,包括执行其他脚本。编译后的 AutoHotkey.exe 和 AutoHotkey.dll 可使用 /E 开关执行与编译后不同的脚本。 |
Ahk2Exe | 自定义版本的 Ahk2Exe 编译器,支持 AutoHotkey_H 功能。 |
资源库 | 您可以在 exe 或 dll 资源中包含库函数(Resorce 类型必须为 "LIB",例如 LIB/WATCHDIRECTORY.AHK)。 此外,AutoHotkey.dll 还可以自动从 exe 文件加载库函数(注意,如果源代码已加密,则两个可执行文件必须使用相同的密码)。注意,AutoHotkeySC.bin 不支持此功能。 |
资源压缩和加密 | Ahk2Exe 支持对资源文件进行压缩和加密,AutoHotkey 将在内部自动解压和解密文件。UnZipRawMemory 可用于解压和解密脚本中的资源。 |
AutoHotkey.dll 模块 | |
AutoHotkey.dll | AutoHotkey 模块支持 COM,可用于多线程,并允许将 AutoHotkey 嵌入到其它应用程序中。dll所提供的 AutoHotkey 功能,让其它语言也能轻松拥有和实现。 |
导出的函数 | 可用于AutoHotkey.exe 和 AutoHotkey.dll |
addFile | 添加并执行文件中的附加脚本/代码。不适用于使用 AutoHotkeySC.bin 编译的脚本 |
addScript | 从文本/内存/变量中添加并执行附加脚本/代码。不适用于使用 AutoHotkeySC.bin 编译的脚本 |
ahkassign | 为脚本中的 变量 或 变量指针 赋值 |
ahkExec | 从文本/内存/变量中临时执行附加脚本/代码。不适用于使用 AutoHotkeySC.bin 编译的脚本 |
ahkExecuteLine | 从给定的行指针开始执行脚本 |
ahkFindFunc | 查找函数并返回其指针 |
ahkFindLabel | 查找标签并返回其指针 |
ahkFunction | 通过 SendMessage 等待返回的方式调用函数。主要与 AutoHotkey.dll 一起使用,以调用 dll 脚本中的函数或从 dll 调用主脚本中的函数 |
ahkgetvar | 用于读取脚本中的 变量 中内容 |
ahkLabel | Goto(PostMessage)或 Gosub (SendMessage)一个标签。也主要用于 AutoHotkey.dll |
ahkPause | 将 暂停 / 继续执行 线程, 它使用AutoHotkey内部的 Sleep 来实现 |
ahkPostFunction | 通过 PostMessage 方法调用函数(不等待函数返回)。也主要用于 AutoHotkey.dll |
导出的函数 | 仅在AutoHotkey.dll中可用 |
ahkdll 与 ahktextdll | 从文件或字符串/内存/变量加载新线程,正运行的线程将被终止 |
ahkReady | 如果当前正在执行线程,则返回 1(true),否则返回 0(false) |
ahkReload | 使用与 ahkdll 或 ahktextdll 相同参数重启正运行的脚本 |
ahkTerminate | 用于终止并退出正在执行的脚本 |
7-zip.dll 模块 | |
7-zip.dll | 7-zip.dll模块,用于高级压缩和解压缩任务 |
其它 | |
ahk_parent | ahk_parent 可以在任何 Win... 和 Control... 函数中使用。例如 WinActivate, ahk_class #32770 ahk_parent 0x3F4A5 |
& | 读取指向任何字符串或内置变量 &A_LoopField or &"Text" 的指针 |
除了 %A_MyDocuments%\AutoHotkey\Lib
中的用户库外,AutoHotkey 目录中的标准库和 %A_ScriptDir%\Lib
中的本地库函数也可以从 %A_AhkExeDir%\lib.lnk 指向的文件夹中自动包含。有关详细信息,请参阅函数库。
静态变量在内部保存在单独的数组中,以提高性能。此外,ListVars 会分别显示静态变量和局部变量。
在此特别感谢 Jonathan Bennett,他在 1999 年慷慨地将 AutoIt v2 作为免费软件发布,为我本人和全球许多其他人带来了灵感并节省了时间。此外,AutoHotkey 对 AutoIt v2 命令集的许多改进,以及 Window Spy 和旧脚本编译器,都直接改编自 AutoIt v3 源代码。因此也要感谢 Jon 和其他 AutoIt 作者。
最后,如果没有AutoHotkey,它就不会是今天的样子 这些其他人.
~ Chris Mallett