;dll 要使用的 DLL 文件名,例如 "user32.dll".也可以使用由 DllOpen 获得的句柄(请查看下面的 注意 部分).
;返回值类型 函数的返回值类型(请查看下面的 注意 部分).
;函数名称 调用DLL文件里面的函数名称, 如: "MessageBox" 或者使用序号, 如. 62
;类型1 [可选参数] 参数的数据类型(请查看下面的 注意 部分).
;参数1 [可选参数] 实参(请查看下面的 注意 部分).
;类型 n [可选参数] 第n个参数的数据类型(请查看下面的 注意 部分).
;参数 n [可选参数] 第n个参数的实参(请查看下面的 注意 部分).
;类型 详细信息
;none 没有值 (仅用作无返回值函数的返回类型,这点跟C语言中的void类似)
;BYTE 无符号 8 位(bit)整数
;BOOLEAN 无符号 8 位(bit)整数
;short 16 位整数
;USHORT 无符号16 位整数
;WORD 无符号16 位整数
;int 32 位整数
;long 32 位整数
;BOOL 32 位整数
;UINT 无符号 32 位整数
;ULONG 无符号 32 位整数
;DWORD 无符号 32 位整数
;INT64 64 位整数
;UINT64 无符号 64 位整数
;ptr 常规指针(void *)
;HWND 窗口句柄(指针)
;HANDLE 一个句柄(指针)
;float 单精度浮点数
;double 双精度浮点数
;INT_PTR, LONG_PTR, LRESULT, LPARAM 一个大型整数指针.(目前x86,x64版本AutoIt都可以使用).
;UINT_PTR, ULONG_PTR, DWORD_PTR, WPARAM 一个大型无符号整数指针.(目前x86,x64版本AutoIt都可以使用).
;str ANSI 字符串(至少将分配 65536 个字符,以保证AutoIt不会溢出).
;wstr UNICODE 宽字符串(至少将分配 65536 个字符,以保证AutoIt不会溢出).
;* 传递一个其它类型(添加一个*到末尾.) 例如 "int*" 传递一个指针到 "int" 类型.
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$dll=DllOpen(".\\XCGUI.dll")
$init=DllCall($dll,"int","XInitXCGUI","int","0")
$Create=DllCall($dll,"int","XWnd_Create","int","150","int","150","int","500","int","500","wstr","test标题","HWND",0,"int",47)
$hBtn=DllCall($dll,"int","XBtn_Create","int","220","int","220","int","75","int","25","wstr","test","hwnd",$Create[0])
Local $fnBtnClick = DllCallbackRegister("_OnMyClick", "int", "BOOL")
DllCall($dll,"none","XEle_RegEventC","int",$hBtn[0],"int",34,"ptr",DllCallbackGetPtr($fnBtnClick))
; 删除回调函数
$show=DllCall($dll,"int","XWnd_ShowWindow","HWND",$Create[0],"int",@SW_SHOW)
DllCall($dll,"none","XRunXCGUI")
DllCall($dll,"none","XExitXCGUI")
DllCallbackFree($fnBtnClick)
Func _OnMyClick($bh)
MsgBox(0,"炫彩界面库","提示")
Return 1 ; 返回 1 继续枚举
EndFunc ;==>_EnumWindowsProc
这里作为一个参考,希望对大家有用