精易论坛

标题: 易语言调用C#dll例子 [打印本页]

作者: Hwak    时间: 2019-4-13 13:00
标题: 易语言调用C#dll例子
先通过vs2017 编写c#代码 主要主要程序集com可见属性开启 注意点看下面代码以及图片,附上c#和e代码 demo.zip (189.14 KB, 下载次数: 159)

这个是易语言调用的代码


  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
RegAsm目录文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
dll目录文本型 
RegAsm目录 = 取文本zc项 ( #本地机器, “SOFTWARE\Microsoft\.NETFramework\InstallRoot”, )
RegAsm目录 = RegAsm目录 + “v4.0.30319\RegAsm.exe”
调试输出 (RegAsm目录)
如果 (文件是否存在 (RegAsm目录))
dll目录 = 取特定目录 ( #我的文档 )
调试输出 (dll目录 + “Get.dll”)
写到文件 (dll目录 + “Get.dll”, #图片1 )
运行 (RegAsm目录 + “ ” + dll目录 + “Get.dll”, 假, #隐藏窗口 )
运行 (RegAsm目录 + “ ” + dll目录 + “Get.dll /codebase”, 假, #隐藏窗口 )
信息框 (“系统环境不正确,确认是否安装了.net4.0”, 0, )

调试输出 (取随机字符串 ())
子程序名返回值类型公开备 注
取随机字符串文本型 
变量名类 型静态数组备 注
object对象 
如果 (object.创建 (“Get.Rand”, 取运行目录 ()“\Get.dll”))
' object.查看 ()
返回 (object.通用方法 (“Getrand”, ).取文本 ())
返回 (“创建对象失败!检查DLL是否在目录下!”)


i支持库列表   支持库注释   
spec特殊功能支持库
shell操作系统界面功能支持库


这个是c# dll代码
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Runtime.InteropServices;
  6. namespace Get
  7. {
  8.     public interface IRand
  9.     {
  10.         string Getrand();

  11.     }
  12.     [ClassInterface(ClassInterfaceType.None)]
  13.     public class Rand:IRand
  14.     {


  15.         public String Getrand()
  16.         {
  17.             int v9 = 2;
  18.             int v2 = new Random().Next(9) + 8;
  19.             String v6 = "";
  20.             Random v4 = new Random();
  21.             int v1;
  22.             for (v1 = 0; v1 < v2; ++v1)
  23.             {
  24.                 String v0 = v4.Next(v9) % 2 == 0 ? "char" : "num";
  25.                 if ("char".Equals(v0))
  26.                 {
  27.                     int v5 = v4.Next(v9) % 2 == 0 ? 65 : 97;
  28.                     v6 = v6 + (((char)(v4.Next(26) + v5)));
  29.                 }
  30.                 else
  31.                 {
  32.                     if (!"num".Equals(v0))
  33.                     {
  34.                         v6 = v6 + v4.Next(10).ToString();
  35.                     }

  36.                 }
  37.             }

  38.             return v6;
  39.         }

  40.     }
  41. }
复制代码


作者: xslyhk    时间: 2019-4-13 13:07
没必要这么麻烦
作者: 温柔gg    时间: 2019-4-13 13:48
支持开源~~
作者: 529512527    时间: 2019-4-13 14:10
路过看看??
作者: 曦月    时间: 2019-4-13 14:31
论坛有你更精彩
作者: iAmBition    时间: 2019-4-13 16:13
论坛有你更精彩
作者: jspengcf    时间: 2019-4-13 23:17
com可见其实都可以调用的
作者: 下下魔鬼    时间: 2019-4-14 13:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: fyh505099    时间: 2019-4-14 13:55
谢谢大佬分享 学习一下
作者: 忧郁之子    时间: 2019-4-14 20:14
新技能get了,谢谢分享。
作者: 下下魔鬼    时间: 2019-4-14 20:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 网络注册网员    时间: 2019-4-15 08:52
大神教程学习了
作者: 你命里缺我    时间: 2019-4-15 10:38
纯拼组件完成的,没有用任何模块!
作者: 职业脚本接单    时间: 2019-4-15 19:27
纯拼组件完成的,没有用任何模块!
作者: zhaode2888    时间: 2019-4-15 22:43
感谢楼主分享,占位支持
作者: fllasuka    时间: 2019-4-16 18:42
感谢楼主分享,占位支持
作者: Wit〆苗大    时间: 2019-4-25 12:25
感谢分享~
作者: FlyMX    时间: 2019-5-1 19:27
感谢分享!!
作者: Singularity    时间: 2019-10-25 23:33
挺牛,就是我调用我自己的dll的时候查看不知道为什么就是0方法
作者: daming1233    时间: 2020-7-5 22:36

支持开源~~
作者: love355024    时间: 2020-12-6 13:20
受用颇深,谢谢
作者: odfense    时间: 2021-5-29 21:18
学习学习
作者: Code123    时间: 2022-5-9 09:55
        感谢分享,很给力!~
作者: aismy    时间: 2024-6-23 18:16
netcore 好像不能用这个方法? 我在配置页面中没找到COM相关的选项,然后直接编译后,调用提示:创建对象失败!检查DLL是否在目录下!” 请问有解决方法吗?
作者: 小房同学    时间: 2024-9-4 09:47
下载看看
作者: 小房同学    时间: 2024-9-4 09:48
感谢分享
作者: wyd168    时间: 2025-1-9 15:53
易语言调用C#dll例子




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4