注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

K8拉登哥哥's Blog

K8搞基大队[K8team] 信息安全 网络安全 0day漏洞 渗透测试 黑客

 
 
 

日志

 
 

VB6调用C#写的DLL/COM组件例子源码  

2012-01-10 03:15:20|  分类: C#.NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
C#编写COM组件
1、新建一个类库项目


2、将Class1.cs改为我们想要的名字

问是否同时给类改名,确定


3、修改Properties目录下面的AssemblyInfo.cs
ComVisible属性设置为True


4、项目菜单->MyLib属性
找到“生成”选项卡

往下看,找到“为 COM 互操作注册”勾上


5、继续往下,找到“签名”选项卡
  勾上“为程序集签名”
  在下面的下拉框里面选择“ <新建...>”


6、在弹出的对话框里面,输入MyLib。。或者随便取个名字
  去掉使用密码保护文件的选项


7、开始编码,任何一个公开的类,必须有一个 I开通的接口定义

C# code

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace K8_RobotReply
{
        [ComVisible(true)]
        [Guid("EBAD8A83-BC05-412D-A059-6648C524148F")]
        public interface IMyClass
        {
            void Initialize();
            void Dispose();
            int Add(int x, int y);
        }

        [ComVisible(true)]
        [Guid("722FA461-6288-4071-A105-9705281B19A1")]
        [ProgId("K8robot.reply")]
        public class K8robot : IMyClass
        {
            public void Initialize()
            {
                //nothing todo
            }
            public void Dispose()
            {
                //nothing todo
            }
            public int Add(int x, int y)
            {
                return x + y;
            }
        }
    
}


8、GUID属性里面的那个字符串,在“工具”菜单下面,“创建 GUID”
  选择 Registry Format,然后复制
 

  注意在[Guid("....... 这个里面要去掉GUID前后的花括号

9、编译它
在命令提示符下面,进入Dll所在的目录
用 gacutil /i MyLib.dll 将这个DLL加入的全局缓存里
然后用 regasm MyLib.dll 注册这个dll


10、在VBScript里面试试。。。

HTML code
<script language="VBScript">
Dim o : Set o=CreateObject("K8robot.reply")  
  o.Initialize
    MsgBox "1 + 2 = " & o.Add(1,2)
    o.Dispose
    Set o=Nothing
</script>


VB6 code

Private Sub Form_Load()
'VB6调用C#写的COM组件 点工程 引用  生成的 tlb文件
Dim o: Set o = CreateObject("K8robot.reply")
  o.Initialize
    MsgBox "1 + 2 = " & o.Add(1, 2)
    o.Dispose
    Set o = Nothing
End Sub
  评论这张
 
阅读(2207)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016