【解决方案】使用易语言调用C#编写的DLL

易语言在国内使用范围非常广泛,尤其是其“特殊功能”非常强大。
在非特殊的情况下,也真的是不怎么好用,尤其是对于非常熟悉C#的编程人员来说,易语言有诸多不便。

但由于其“特殊”的功能,这个语言也不可小视!如果能使用其特殊功能的同时,还能照顾到C#这类强大的编程语言,那该多好?

解决方案有了!

1、使用Visual Studio创建一个.Net类库

namespace NetHttpService
{
    public interface IClass
    {
        int add(int a, int b);
        int Add2(int a, int b);
    }
    
    [ClassInterface(ClassInterfaceType.None)]
    public class Class : IClass
    {
        public int add(int a, int b)
        {
            return a + b;
        }

        public int Add2(int a, int b)
        {
            return a + b;
        }

        public int Add3(int a, int b)
        {
            return a + b;
        }
    }    

修改项目属性:
在这里插入图片描述
还有
在这里插入图片描述

项目已经完成,编译项目
接下来,注册项目

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /c /s NetHttpService.dll

对于.NET项目来说,这里全部完成。
接下来,如何在易语言中使用呢?

创建一个Windows窗口程序
在这里插入图片描述
双击按钮,添加如下代码
在这里插入图片描述

.程序集 窗口程序集_启动窗口
.程序集变量 Class, 对象

.子程序 __启动窗口_创建完毕
.如果真 (Class.创建 (“NetHttpService.Class”, ) = 假)
    信息框 (“创建失败,无法正常使用” + #换行符 + Class.取错误 (), #错误图标, “COM错误”, _启动窗口)
.如果真结束
Class.查看 ()

.子程序 _按钮1_被单击
编辑框3.内容 = 到文本 (Class.数值方法 (“add”, 到数值 (编辑框1.内容), 到数值 (编辑框2.内容)))

直接执行程序如下:(Class.查看 ()执行的结果)
在这里插入图片描述

在这里,你会发现,出现的方法是那两个在interface中定义的,并非在具体实现中定义的那三个。
在这里插入图片描述
点击方法,会提示如何使用该方法。点击“关闭后”,主界面如下:

在这里插入图片描述

点击“按钮”,调用C#写的方法,结果如下:
在这里插入图片描述

OK。完美!

交流QQ群:

456197310 PC微信HOOK逆向分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵庆明老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值