为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

易语言动态调用DLL插件例程

三叶资源网 2019-08-22 17:39:07 易语言例程 3261 ℃ 10 评论
.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕

检查加载DLL (取运行目录 () + “插件目录\”)

.子程序 检查加载DLL, 逻辑型
.参数 DLL所在目录, 文本型
.局部变量 寻找文件, 文本型
.局部变量 查询插件信息返回, 文本型
.局部变量 插件数, 整数型
.局部变量 取插件信息_记次, 整数型
.局部变量 分割, 文本型, , "0"
.局部变量 查询插件信息, 文本型
.局部变量 成员, 整数型

清除数组 (DLL路径)
清除数组 (DLL路径1)
清除数组 (DLL命令)
清除数组 (DLL名称)
清除数组 (DLL版本)
清除数组 (DLL作者)
清除数组 (DLL介绍)
清除数组 (DLL发布时间)
寻找文件 = 寻找文件 (DLL所在目录 + “*.dll”, )
.如果真 (删首尾空 (寻找文件) ≠ “”)
    加入成员 (DLL路径, DLL所在目录 + 寻找文件)
.如果真结束
.判断循环首 (寻找文件 ≠ “”)
    寻找文件 = 寻找文件 (, )
    .如果真 (删首尾空 (寻找文件) ≠ “”)
        加入成员 (DLL路径, DLL所在目录 + 寻找文件)
    .如果真结束

.判断循环尾 ()
插件数 = 取数组成员数 (DLL路径)
.计次循环首 (插件数, 取插件信息_记次)
    .如果真 (DLL命令调用转向 (DLL路径 [取插件信息_记次], “查询插件”) ≠ 假)
        查询插件信息返回 = 查询插件信息 ()
        分割 = 分割文本 (查询插件信息返回, #换行符, )
        成员 = 取数组成员数 (分割)
        .如果真 (取整 (成员 ÷ 6) = 1)
            加入成员 (DLL路径1, DLL路径 [取插件信息_记次])
            加入成员 (DLL名称, 分割 [1])
            加入成员 (DLL版本, 分割 [2])
            加入成员 (DLL作者, 分割 [3])
            加入成员 (DLL命令, 分割 [4])
            加入成员 (DLL介绍, 分割 [5])
            加入成员 (DLL发布时间, 分割 [6])
            到循环尾 ()
        .如果真结束
        .如果真 (取整 (成员 ÷ 6) = 2)
            加入成员 (DLL路径1, DLL路径 [取插件信息_记次])
            加入成员 (DLL名称, 分割 [1])
            加入成员 (DLL版本, 分割 [2])
            加入成员 (DLL作者, 分割 [3])
            加入成员 (DLL命令, 分割 [4])
            加入成员 (DLL介绍, 分割 [5])
            加入成员 (DLL发布时间, 分割 [6])
            加入成员 (DLL路径1, DLL路径 [取插件信息_记次])
            加入成员 (DLL名称, 分割 [7])
            加入成员 (DLL版本, 分割 [8])
            加入成员 (DLL作者, 分割 [9])
            加入成员 (DLL命令, 分割 [10])
            加入成员 (DLL介绍, 分割 [11])
            加入成员 (DLL发布时间, 分割 [12])
            到循环尾 ()
        .如果真结束
        .如果真 (取整 (成员 ÷ 6) = 3)
            加入成员 (DLL路径1, DLL路径 [取插件信息_记次])
            加入成员 (DLL名称, 分割 [1])
            加入成员 (DLL版本, 分割 [2])
            加入成员 (DLL作者, 分割 [3])
            加入成员 (DLL命令, 分割 [4])
            加入成员 (DLL介绍, 分割 [5])
            加入成员 (DLL发布时间, 分割 [6])
            加入成员 (DLL路径1, DLL路径 [取插件信息_记次])
            加入成员 (DLL名称, 分割 [7])
            加入成员 (DLL版本, 分割 [8])
            加入成员 (DLL作者, 分割 [9])
            加入成员 (DLL命令, 分割 [10])
            加入成员 (DLL介绍, 分割 [11])
            加入成员 (DLL发布时间, 分割 [12])
            加入成员 (DLL路径1, DLL路径 [取插件信息_记次])
            加入成员 (DLL名称, 分割 [13])
            加入成员 (DLL版本, 分割 [14])
            加入成员 (DLL作者, 分割 [15])
            加入成员 (DLL命令, 分割 [16])
            加入成员 (DLL介绍, 分割 [17])
            加入成员 (DLL发布时间, 分割 [18])
        .如果真结束

    .如果真结束

.计次循环尾 ()
.判断开始 (取数组成员数 (DLL命令) ≠ 0)
    调试输出 (“初始化成功---插件数:” + 到文本 (取数组成员数 (DLL命令)) + “------DLL文件共计:” + 到文本 (取数组成员数 (DLL路径)))
    返回 (真)
.默认
    调试输出 (“初始化失败”)
    返回 (假)
.判断结束


.子程序 处理插件命令, 文本型
.参数 命令参数, 文本型
.参数 附带参数, 文本型
.参数 参数1, 文本型
.参数 参数2, 文本型
.参数 参数3, 文本型
.局部变量 成员, 整数型
.局部变量 局_记次, 整数型
.局部变量 命令, 文本型
.局部变量 结果, 文本型

成员 = 取数组成员数 (DLL命令)
命令 = 删首尾空 (取文本中间 (命令参数, 2, 取文本长度 (命令参数)))
.计次循环首 (成员, 局_记次)
    .如果真 (DLL命令 [局_记次] = 删首尾空 (命令))
        .如果真 (DLL命令调用转向 (DLL路径1 [局_记次], 命令) ≠ 假)
            结果 = 使用插件信息 (附带参数, 参数1, 参数2, 参数3)
            跳出循环 ()
        .如果真结束

    .如果真结束

.计次循环尾 ()
返回 (结果)

.子程序 _按钮1_被单击

调试输出 (处理插件命令 (“@” + “测试1”, “嘻嘻”, “我是”, “测试”, “DLL”))

.子程序 _按钮2_被单击

调试输出 (处理插件命令 (“@” + “测试2”, “嘻嘻”, “我是”, “测试”, “DLL”))

.子程序 _按钮3_被单击

调试输出 (处理插件命令 (“@” + “测试3”, “嘻嘻”, “我是”, “测试”, “DLL”))

.子程序 _按钮4_被单击

调试输出 (处理插件命令 (“@” + “测试4”, “嘻嘻”, “我是”, “测试”, “DLL”))

@戒卜掉思恋

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有10位网友发表了看法:

  • 资源网

    资源网  评论于 [2019-10-11 01:35:03]  回复

    易语言指针dll调用

  • 易语言

    易语言  评论于 [2020-04-17 21:03:23]  回复

    易语言动态调用子程序

  • 易语言

    易语言  评论于 [2020-08-17 17:24:38]  回复

    易语言dll命令调用转向编写插件

  • yiyuyan

    yiyuyan  评论于 [2021-05-13 23:28:12]  回复

    动态调用DLL+易语言

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
RFID读卡器黑话世宝教程蜗牛迷宫游戏bitmap多线程拨号代码MP4视频文件键值排序字节数模拟CMOS集成电路工控之交通灯关键词监控仿微信登录UI界面进程信息客户端数据进度复制文件夹网页防火墙POST例程图文微博递归算法
最新评论