吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 398|回复: 0

[火山] 【火山调用易语言DLL①】

[复制链接]
书香 发表于 2024-3-7 06:47 | 显示全部楼层 |阅读模式

本帖最后由 书香 于 2024-3-7 06:50 编辑

本节探讨火山exe如何向易语言DLL传递文本类型的参数数据

先复习以下之前的课程

024:【火山调用DLL】

forum.jpg

forum.jpg

火山代码:
[Asm] 纯文本查看 复制代码
<火山程序 类型 = "通常" 版本 = 1 />

方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
{
    如果 (来源对象 == 按钮1)
    {
        test ("测试")

    }
    返回 (0)
}

方法 test <公开 静态 @视窗.输入 = "test.dll" @输出名 = "test">
参数 文本1 <类型 = 文本型>
{

}


——————————————————————————————————————
易语言dll的代码
  
子程序名返回值类型公开备 注
test
参数名类 型参考可空数组备 注
接收的文本1文本型   
信息框 (接收的文本1, 0, , )


_____________________________________________________
然后编译调试:
forum.jpg

首先这个信息框功能是易语言test.dll中的,然后出现了乱码,这是因为火山中的“测试文本”是UTF-16的,代表的字节集是{75,109,213,139,0,0},而这段字节集在易语言里面是使用GBK编码规则进行渲染的,所以我们需要进行字节集转换

我们将易语言DLL进行如下写法(调用了精易模块)
  
子程序名返回值类型公开备 注
test
参数名类 型参考可空数组备 注
接收的文本1文本型   
变量名类 型静态数组备 注
文本1文本型  
文本1 = 编码_Unicode到Ansi (到字节集 (接收的文本1))
信息框 (文本1, 0, , )


效果:
forum.jpg

————————————————————————————————————————————————
总结:以火山(MFC)为exe,调用易语言的DLL,可以直接传递文本数据,但是需要进行编码转换


(点击返回课程目录https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134



吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表