您的位置首页百科问答

易语言api DLL动态加载及调用

易语言api DLL动态加载及调用

的有关信息介绍如下:

易语言api DLL动态加载及调用

易语言API方式动态加载及调用DLL的方法

先新建并编译一个测试信息框的dll,代码如下:

.版本 2

.子程序 rk, , 公开

.参数 标题, 文本型

.参数 内容, 文本型

.参数 样式, 整数型

信息框 (标题, 样式, 内容, )

再次新建一个新的dll

通过:工具>>执行易向导

DLL代码如下:

.版本 2

.DLL命令 载入动态链接库_, 整数型, "kernel32.dll", "LoadLibraryA", , 载入指定的动态链接库,并将它映射到当前进程使用的地址空间

.参数 动态链接库名称, 文本型, , lpLibFileName,指定要载入的动态链接库的名称

.DLL命令 释放动态链接库_, 整数型, "kernel32", "FreeLibrary", , 释放指定的动态链接库,它们早先是用LoadLibrary ;API函数装载的 非零表示成功,零表示失败。会设置GetLastError

.参数 卸载句柄, 整数型

.DLL命令 取进程地址_, 整数型, "kernel32.dll", "GetProcAddress"

.参数 模块句柄, 整数型, , hModule

.参数 进程名称, 文本型, , lpProcName

.版本 2

.子程序 载入动态DLL, 整数型

.参数 dll路径名字, 文本型

.参数 dll入口函数, 文本型

.参数 卸载句柄, 整数型, 参考 可空

卸载句柄 = 载入动态链接库_ (dll路径名字)

.如果真 (卸载句柄 = 0)

返回 (0)

.如果真结束

返回 (取进程地址_ (卸载句柄, dll入口函数))

.版本 2

.子程序 卸载动态dll, 整数型

.参数 卸载句柄, 整数型

返回 (释放动态链接库_ (卸载句柄))

测试代码如下:

.版本 2

.支持库 spec

.子程序 _临时子程序

.局部变量 卸载句柄, 整数型

.局部变量 执行句柄, 整数型

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。

执行句柄 = 载入动态DLL (“c:\box.dll”, “rk”, 卸载句柄)

.判断开始 (执行句柄 = 0)

卸载动态dll (卸载句柄)

信息框 (“动态dll加载执行失败”, 0, , )

.默认

调用子程序 (执行句柄, , , “标题”, “信息内容”, #信息图标)

卸载动态dll (卸载句柄)