脚本大师通用API调用插件SE_API v0.3
此插件包含以下函数:[b]function APIOpen(LibName:string; FuncName:string; ParamTypes:string; CallType:string): integer;[/b]
打开指定外部动态链接库LibName中的指定函数FuncName,返回已打开函数的句柄。
LibName: 外部动态链接库文件名,通常是一个*.dll的文件。
FuncName: 需要打开的外部动态链接库中的指定函数的名字,
*请注意,该名字区分大小写,必须与外部函数库的导出名字一致。
ParamTypes: 函数的参数表示字符串,通常的形式应当为"XXXX:X"
冒号前面的XXXX每一个X表示该函数的一个参数,X的取值则表示这个参数的类型
冒号后面的X则表示函数的返回值类型
可能的函数参数及返回值类型列举如下:
- B : byte 字节
- W : Word 字
- D : DWord 双字
- I : Integer 整数
- P : Pointer 指针
- S : PChar 字符串
- F : Single 单精度浮点数
- U : Double 双精度浮点数
CallType: 函数的调用模式,可支持"Stdcall"(简写为"S")和"cdecl"(简写为"C")两种模式
如果该参数被忽略或者输入了一个不可识别的模式,则默认按"Stdcall"方式调用
注: Windows系统标准函数都是stdcall模式调用,只有某些特殊情况才需要用到cdecl模式
[b]procedure APIClose(hFunc:integer);[/b]
关闭已经通过APIOpen打开的外部函数句柄
hFunc: 使用APIOpen打开的函数句柄
[b]function APICall(hFunc:integer; Param1,Param2,Param3,...) : Value;[/b]
调用外部动态链接库中的函数实现需要的功能。
hFunc: 通过APIOpen打开的外部函数句柄。
Param1,Param2,Param3,...: 第2至第n个参数都为外部函数所需的参数
注意,这些外部函数所需参数需要根据前面APIOpen时指定的参数类型来一一正确对号入座,
否则可能造成外部函数执行不正常。
外部函数的返回值即为本函数的返回值,返回值类型会自行根据外部函数返回值类型转换。
举例:
//首先要打开指定的API函数,注意函数名要区分大小写
set hMessageBox=APIOpen('User32.dll','MessageBoxA','ISSI:I','s')
//调用外部函数,注意第2,3,4,5这四个参数为MessageBox所需的输入参数
set i=APICall(hMessageBox,0,'演示如何直接调用标准外部API函数','测试',0)
//最后记得一定要关闭函数以释放系统资源
do APIClose(hMessageBox) 支持支持 突破零下载.(葱头:42) 不懂。。 看了这么多置顶,到底哪里有教做JASS啊…… 路过 研究下 不知道具体有用没 [b]不可以下?[/b]
页:
[1]