导出的函数可从磁盘或网络上的文件在当前进程中创建附加 AutoHotkey 线程。
如果线程已经执行,它将在新线程启动之前终止。
请注意,您需要先使用 LoadLibrary 加载 AutoHotkey.dll 模块,然后才能使用此功能,请参阅示例。
此函数仅在 AutoHotkey.dll 中可用
OutputVar := DllCall("AutoHotkey.dll\ahkdll", "Str", "FileName", "Str", "Parameters", "Str", "Title", "CDecl UPTR")
函数示例: hThread := DllCall("AutoHotkey.dll\ahkdll", "Str", "FileName.ahk" ,"Str",, "Str",, "PTR")
用于存储新创建线程的句柄的变量的名称。
保存在磁盘或网络上的新 AutoHotkey 脚本将在 AutoHotkey.dll 中执行。当为空时,使用以下脚本:
#Persistent
#NoTrayIcon
命令行参数,可通过内置变量 A_Args 对象访问。
当未给出标题时,将在 MsgBox、Gui... 中显示的 dll 线程的标题(默认文件名)。
当传递空字符串或 0 而不是 MyScript.ahk 时,ahkdll 的行为有所不同:
ahktextdll, AutoHotkey.dll, AhkThread
dllpath:=A_AhkDir "\AutoHotkey.dll"
DllCall("LoadLibrary","Str",dllpath) ; 加载 AutoHotkey 模块。
DllCall(dllpath "\ahkdll","Str",A_ScriptDir "\MyDllScript.ahk","Str","","CDecl") ; 从文件启动一个新线程。
While DllCall(dllpath "\ahkReady")
Sleep 100 ; 等待线程退出
; 使用内置 AutoHotkey.dll 的同等示例
dll:=AhkThread(A_ScriptDir "\MyDllScript.ahk","",true)
While dll.ahkReady()
Sleep 100 ; 等待线程退出