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

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

批量的将动态调用的DLL命令换成易语言的DLL命令调用方式

三叶资源网 2020-07-05 23:19:50 易语言例程 988 ℃ 0 评论
.版本 2
.支持库 spec

.程序集 窗口程序集_窗口1
.程序集变量 全局子程序, 子程序结构类型, , "0"

.子程序 _按钮1_被单击
.局部变量 动态加载, 文本型
.局部变量 临时文本, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 数字, 文本型
.局部变量 调用代码, 文本型
.局部变量 变量位置, 整数型
.局部变量 子程序位置, 整数型
.局部变量 dll名字, 文本型
.局部变量 子程序名临时数组, 文本型, , "0"
.局部变量 h, 整数型
.局部变量 临时子程序, 子程序结构类型
.局部变量 清空临时子程序, 子程序结构类型
.局部变量 大量参数文本, 文本型
.局部变量 参数数组, 文本型, , "0"
.局部变量 a, 整数型
.局部变量 临时参数, 文本型, , "0"
.局部变量 kk, 整数型
.局部变量 dll命令代码, 文本型
.局部变量 aaaa, 整数型
.局部变量 计数, 整数型
.局部变量 子程序位置2, 整数型
.局部变量 内置调用代码, 文本型
.局部变量 调用代码2, 文本型
.局部变量 调用代码3, 文本型

动态加载 = #动态加载
调用代码 = #调用代码
dll命令代码 = “.版本 2” + #换行符
临时文本 = 分割文本 (动态加载, #换行符, )
.计次循环首 (取数组成员数 (临时文本), i)
    处理事件 ()
    Sleep (3)
    数字 = 文本_取出中间文本 (临时文本 [i], “匿名全局变量_”, “ = GetMemProcAddress”, , )
    .如果真 (数字 = “”)
        到循环尾 ()
    .如果真结束
    数字 = “匿名全局变量_” + 数字
    计数 = 计数 + 1

    变量位置 = 寻找文本 (调用代码, 数字, , 假)
    子程序位置 = 倒找文本 (调用代码, “.子程序”, 变量位置, 假)
    dll名字 = 文本_取出中间文本 (调用代码, “序 ”, #换行符, 子程序位置, )
    子程序名临时数组 = 分割文本 (dll名字, “,”, )
    子程序位置2 = 寻找文本 (调用代码, “.子程序”, 变量位置, 假)
    临时子程序 = 清空临时子程序
    .计次循环首 (取数组成员数 (子程序名临时数组), h)
        .判断开始 (h = 1)
            临时子程序.命令名 = 子程序名临时数组 [h]
        .判断 (h = 2)
            临时子程序.返回值类型 = 子程序名临时数组 [h]
        .判断 (h = 3)
            临时子程序.是否公开 = 子程序名临时数组 [h]
        .判断 (h = 4)
            临时子程序.备注 = 子程序名临时数组 [h]
        .默认

        .判断结束

    .计次循环尾 ()
    ' 调试输出 (临时子程序.命令名, 临时子程序.返回值类型, 临时子程序.是否公开, 临时子程序.备注)
    大量参数文本 = 文本_取出中间文本 (调用代码, “序 ”, “.子程序”, 子程序位置, )
    .如果真 (寻找文本 (大量参数文本, “_动态调用子程序 (”, , 假) = -1)
        调试输出 (大量参数文本)
        到循环尾 ()
    .如果真结束
    内置调用代码 = 取文本中间 (调用代码, 子程序位置, 子程序位置2 - 子程序位置)
    调用代码3 = “_动态调用” + 文本_取出中间文本 (内置调用代码, “_动态调用”, #换行符, , )
    调用代码2 = 调用代码3
    调用代码2 = 子文本替换 (调用代码2, “_动态调用子程序 (” + 数字 + “,”, 临时子程序.命令名 + “_dll” + “(”, , , 真)
    调试输出 (调用代码2)
    内置调用代码 = 子文本替换 (内置调用代码, 调用代码3, 调用代码2, , , 真)
    编辑框2.加入文本 (内置调用代码)
    文本_取中间_批量 (大量参数文本, “.参数 ”, #换行符, 参数数组, , , , , , , )
    ' 调试输出 (参数数组)
    .计次循环首 (取数组成员数 (参数数组), a)
        临时参数 = 分割文本 (参数数组 [a], “,”, )
        .计次循环首 (取数组成员数 (临时参数), kk)
            .判断开始 (kk = 1)
                临时子程序.参数 [a].参数名 = 临时参数 [1]
            .判断 (kk = 2)
                临时子程序.参数 [a].数据类型 = “整数型”
            .判断 (kk = 3)
                .如果真 (寻找文本 (临时参数 [3], “参考”, , 假) ≠ -1)
                    临时子程序.参数 [a].参考 = “传址”
                .如果真结束
                .如果真 (寻找文本 (临时参数 [3], “可空”, , 假) ≠ -1)
                    临时子程序.参数 [a].可空 = “可空”
                .如果真结束
                .如果真 (寻找文本 (临时参数 [3], “数组”, , 假) ≠ -1)
                    临时子程序.参数 [a].数组 = “数组”
                .如果真结束

            .判断 (kk = 4)
                临时子程序.参数 [a].备注 = 临时参数 [4]
            .默认

            .判断结束

        .计次循环尾 ()
    .计次循环尾 ()
    临时子程序.是否公开 = “”
    dll命令代码 = dll命令代码 + “.DLL命令 ”
    dll命令代码 = dll命令代码 + 临时子程序.命令名 + “_dll, ”
    dll命令代码 = dll命令代码 + 临时子程序.返回值类型 + “, ”
    dll命令代码 = dll命令代码 + #imgui
    dll命令代码 = dll命令代码 + 临时子程序.命令名
    dll命令代码 = dll命令代码 + #引号 + “, ”
    dll命令代码 = dll命令代码 + 临时子程序.是否公开 + “, ”
    dll命令代码 = dll命令代码 + 临时子程序.备注
    dll命令代码 = dll命令代码 + #换行符
    .计次循环首 (100, aaaa)
        .如果真 (临时子程序.参数 [aaaa].参数名 = “”)
            到循环尾 ()
        .如果真结束
        dll命令代码 = dll命令代码 + “    .参数 ” + 临时子程序.参数 [aaaa].参数名 + “, ”
        dll命令代码 = dll命令代码 + 临时子程序.参数 [aaaa].数据类型 + “, ”
        dll命令代码 = dll命令代码 + 临时子程序.参数 [aaaa].参考 + “ ”
        dll命令代码 = dll命令代码 + 临时子程序.参数 [aaaa].数组 + “, ”
        dll命令代码 = dll命令代码 + 临时子程序.参数 [aaaa].备注 + #换行符
    .计次循环尾 ()
    ' 调试输出 (dll命令代码)
.计次循环尾 ()
编辑框1.加入文本 (dll命令代码)
调试输出 (计数)

.子程序 _窗口1_创建完毕

@15677310528

文件下载

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

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

网站分类
随机tag
子类化字库验证码识别Sign算法滑动验证码社会网络QQ收发消息汇编中文指令取QQKEY网页删除空cookieMIDI解析LOL免更新雷电模拟器哈希表类音频文件CryptoJS加密模块音频处理APP授权粒子特效压枪辅助小米电视遥控器
最新评论