aardio 文档

ahk.thread 库模块帮助文档

说明

aardio 中路径以斜杆开始表示应用程序根目录, 应用程序根目录在开发时指工程目录或工程外独立启动的文件所在目录, 发布后指 EXE 所在目录。

当我们用 aardio + AHK 开发时,可以在应用程序根目录下的 /AutoHotkey/Lib/ 目录下面放 AHK 的用户库文件。 如果创建了 aardio 工程,可以将这个 /AutoHotkey/ 目录设为内嵌资源目录(可生成独立 EXE 文件)。

如果在 aardio中 调用 ahk.import("libName") , aardio 会自动加载 /AutoHotkey/Lib/libName.ahk 的代码, 并转存到 AHK 加载该用户库的路径 %A_MyDocuments%\AutoHotkey\Lib*.ahk 。 然后在 AHK 中可以用 #include 加载这个库,注意库名是放在 < ... > 这对尖括号中间。 这个虽然叫用户库目录,其实是所有 AHK 程序公用的,所以最好放在子目录里,例如 ahk.import("aardio/libName")

在启动 AHK 脚本线程时,也会将应用程序根目录设为 AHK 设为 AHK 中的 %A_WorkingDir% 目录。 也就是可以在 AHK 中用 #include path/name.ahk 的代码导入 AHK 文件,这时要写文件后缀名,不能加 < ... > 这种尖括号。

ahk 成员列表

ahk.thread

AutoHotkey v2 H 版扩展库,
AHK v1.x 请改用 ahk 扩展库
请注意 AHK 使用的是 GPL 许可证,注意 GPL 有传染性。
Autohokey_H

ahk.thread()

创建 AutoHotkey v2 线程对象。
默认会将应用程序根目录设为 AHK 中的 %A_WorkingDir%

aardio 中路径以斜杆开始表示应用程序根目录,
应用程序根目录在开发时指工程目录或工程外独立启动的文件所在目录,
发布后指 EXE 所在目录

返回对象:AhkThreadObject

AhkThreadObject 成员列表

AhkThreadObject.?

on 前缀的函数可在 AHK 内通过 aardio.函数名 调用。
如果 on 前缀的回调函数返回值为函数对象,则异步执行该函数,
其他返回值返回给 AHK 调用代码。

注意 AHK v2 不需要调用 #include

AhkThreadObject.addScript(脚本代码,false)

添加文件到正在运行的 AHK 脚本线程,不等待脚本运行完

AhkThreadObject.addScript(脚本代码,true)

添加文件到正在运行的 AHK 脚本线程,等待脚本运行完成

AhkThreadObject.exec("字符串参数")

运行脚本代码,成功返回true,失败返回false

AhkThreadObject.executeLine

用来执行之前通过 addScript 或 addFile 函数追加的脚本行

AhkThreadObject.executeLine(行号,0)

不运行,返回行号

AhkThreadObject.executeLine(行号,1)

运行到返回,返回行号
可选添加第三个参数为true,等待执行完成

AhkThreadObject.executeLine(行号,2)

运行到块结束,返回行号
可选添加第三个参数为true,等待执行完成

AhkThreadObject.executeLine(行号,3)

仅运行一行,返回行号
可选添加第三个参数为true,等待执行完成

AhkThreadObject.findFunc("函数名")

查找函数,返回函数指针

AhkThreadObject.findLabel("标签名")

查找标签,返回标签指针

AhkThreadObject.getGlobal

返回 AHK 中全局变量的值或指针,
注意应当在 AHK 中先用 global name := value 声明全局变量,
运行 AHK 脚本线程后才能调用此函数

AhkThreadObject.getGlobal("变量名")

返回 AHK 中全局变量的字符串值。
数值可可自动转为字符串。

AhkThreadObject.getGlobal("变量名",true)

返回 AHK 中全局变量的指针

AhkThreadObject.jsonCall("函数名",)

运行指定的函数
使用JSON传递参数并返回值

AhkThreadObject.label

用来运行脚本中的 Goto/GoSub 子程序

AhkThreadObject.label(标签名,不等待执行结束)

用来运行脚本中的 Goto/GoSub 子程序

AhkThreadObject.pause("Off")

取消暂停

AhkThreadObject.pause("On")

暂停

AhkThreadObject.postCall("函数名",)

运行指定的函数
可选添加一到十个参数,返回文本值
该函数立即返回不会等待函数执行完成
0为成功,-1为找不到函数

AhkThreadObject.ready()

是否正在运行ahk脚本

AhkThreadObject.run

运行 AutoHotkey v2 线程

AhkThreadObject.run(script,cmdLine,title)

运行 AutoHotkey v2 线程,所有参数可选,
可用 @script 参数指定启动 AHK 脚本代码,字符串值,
可用 @cmdLine 指定启动参数,字符串值,
可用 title 参数指定标题

AhkThreadObject.sendCall("函数名",)

运行指定的函数
可选添加一到十个参数,返回文本值

AhkThreadObject.setGlobal("变量名","值")

对 AHK 中的全局变量赋值,
参数 @2 允许所有 JSON 兼容的类型,
注意应当在 AHK 中先用 global name := value 声明全局变量

AhkThreadObject.setGlobal()

对 AHK 中的全局变量赋值,
运行 AHK 脚本线程后才能调用此函数

AhkThreadObject.terminate()

强制关闭线程

AhkThreadObject.wait(false)

等待 AHK 脚本运行结束

AhkThreadObject.wait(true)

等待 AHK 脚本启动运行,
只能在启动 AHK 脚本线程后调用,
否则会一直等待无法返回

Markdown 格式