zoukankan      html  css  js  c++  java
  • 编程将 .Net Assembly 里的类注册成 COM 类

    编程将 .Net Assembly 里的类注册成 COM 类
    最近要实现在 IE 右键弹出的上下文菜单中添加自定义菜单项并响应
    因此要将 .Net Assembly 注册成 COM 类
    当然手工使用一系列命令行可以实现:
    参阅 QuickStart 交互操作 -> 生成可从 COM 客户端调用的 .NET COM 服务器 :
    http://localhost/quickstart/howto/doc/Interop/Building_Samples_COM2NET.aspx

    当然编程引用 Process 调用 tlbexp.exe、gacutil.exe、regasm.exe 等一系列命令行实现亦可,还是较麻烦!
    其实还有更简单的方法,两句话搞定:

     System.EnterpriseServices.Internal.Publish P = new System.EnterpriseServices.Internal.Publish();
     //P.GacInstall(asmFile);
     P.RegisterAssembly(asmFile);
     System.Windows.Forms.MessageBox.Show("ok");

    下载中是一套完整的 Solution:
    https://files.cnblogs.com/Microshaoft/RegAsm2Com.rar


    1. Asm4ComApplication : 是一个要安装的应用程序
    2. RegAsm2ComInstaller : 是一个包含 自定义操作 的 安装程序类 (Custom Action Installer) 的控制台应用程序
    3. Setup1 : 是用于安装 Asm4ComApplication 的安装项目


    该 Setup 实现了如下主要功能:
    1.编程将 .Net Assembly 注册成 COM 类
    (另外,Setup 安装项目:
     "应用程序文件夹" -> "文件安装属性" -> "Register" [vsdraCOM,vsdraCOMRelativePath]
    也可将 .Net Assembly 直接在安装期间注册成 COM 类,无需编程)
    2.在 IE 右键弹出的上下文菜单中添加自定义菜单项(Microshaoft 显示 Img Src Url)并响应

  • 相关阅读:
    混合背包
    庆功会(多重背包)
    商店选址问题(dij)(未完成)
    城市问题(dij)
    最短路径问题(dijkstra)
    城市问题(Floyd)
    商店选址问题(Floyd)
    差值中位数(二分答案+判定中位数)
    CF448C Painting Fence(分治)
    字符串+数论(扩展欧拉定理)
  • 原文地址:https://www.cnblogs.com/Microshaoft/p/146551.html
Copyright © 2011-2022 走看看