C#.NET com组件的编写

设置工程属性:“生成”-> “为COM Interop注册”。 1

更改AssemblyInfo.cs……设置COM可见 1

建立源码 1

注册COM组件DLL 3

使用HTML中VBS脚本测试 3

提示不能创建 ACTIVEX 控件…… 4

提示找不到路径 4

----作者Attilax , 1466519819@qq.com---

我的环境 是VS2010...WIN7系统

设置工程属性:“生成”-> “为COM Interop注册”。

当然也可以为每个接口设置COM可见性,ComVisibleAttribute类提供了这样的控制。

更改AssemblyInfo.cs……设置COM可见

// 将? ComVisible 设Θ?置?为a false 使?此?程ì序ò集ˉ中D的?类え?型í

// 对? COM 组哩?件t不?可é见?。£如?果?需è要癮从洙?COM 访?问ê此?程ì序ò集ˉ中D的?类え?型í,?

// 则ò将?该?类え?型í上?的? ComVisible 特?性?设Θ?置?为a true。£

[assembly: ComVisible(true)]

建立源码

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.InteropServices;

namespace MyLib

{

[ComVisible(true)]

[Guid("2CBD3D76-35F1-4f9d-9C1B-9DBFEE412F77")]

public interface IMyClass

{

void Initialize();

void Dispose();

String VC(String path);

}

[ComVisible(true)]

[Guid("EA2F140A-108F-47ae-BBD5-83EEE646CC0e")]

[ProgId("MyLib.MyClassa")]

public class MyClass : IMyClass

{

public void Initialize()

{

//nothing todo

}

public void Dispose()

{

//nothing todo

}

public String VC(String path)

{

//  x + y;

if (path.Trim().Equals(""))

{

return "no pathx";

}

fastvcAtiLib.fastvcyjmC2k c = new fastvcAtiLib.fastvcyjmC2k();

//   c.novc = true;   //4 test .only show pic .not show vercode text

// c.oriImg = true;   //img not process and get vercode... cant echo show img pic ..

c.vg = 1;

c.sid = "c2n";

string VerifyCode;

try

{

VerifyCode = c.RecByte(path);

}

catch (Exception ex)

{

VerifyCode = ex.Message;

}

return VerifyCode;

}

}

}

注册COM组件DLL

regasm   ClassLibrary1.dll /codebase

如果你的DLL不 是强签名的,则必须要使用/codebase参数

反注册使用

regasm  /u ClassLibrary1.dll

使用HTML中VBS脚本测试

<script language="VBScript">

Dim o : Set o=CreateObject("MyLib.MyClass")

o.Initialize

MsgBox "1 + 2 = " & o.vc("c:\dx.jpg")

o.Dispose

Set o=Nothing

</script>

提示不能创建 ACTIVEX 控件……

原因:是因为注册没有注册上……

提示找不到路径

说明已经注册上了。可能DLL不是强签名的,而又没有指定/CODEBASE属性,导致注册里没有这个键值。而查找 不到。

C#.NET com组件的编写相关推荐

  1. 13-Flutter移动电商实战-ADBanner组件的编写

    1.AdBanner组件的编写 我们还是把这部分单独出来,需要说明的是,这个Class你也是可以完全独立成一个dart文件的.代码如下: 广告图片class AdBanner extends Stat ...

  2. C++ COM组件的编写

    COM组件的编写 本文提供一个完全用C++实现的进程内(DLL)COM服务器,不要ATL或MFC提供任何支持.用这种方式编写COM对象可以让你深入地洞察到COM处 理进程内服务器的方法以及COM是如何 ...

  3. 14-Flutter移动电商实战-ADBanner组件的编写

    拨打电话的功能在app里也很常见,比如一般的外卖app都会有这个才做.其实Flutter本身是没给我们提供拨打电话的能力的,那我们如何来拨打电话那? 1.编写店长电话模块 这个小伙伴们一定轻车熟路了, ...

  4. react项目中的参数解构_重构复杂的React组件:编写高效且可读组件的5个最佳实践...

    随着 React.js 的不断进化,现在的它已经成为 Web 组件中最受欢迎的视图库之一.但是你手中的它,是否真的能够正常工作呢?本文将主要描述 5 个关于React 组件的最佳实践,希望对正在关注 ...

  5. 关于Unity中的帧动画组件的编写

    一.帧动画 1: 美术准备好一个连续动作的离散图片; 2: 程序在准确的时间来切换这个图片; 3: 优点: 简单,速度快; 缺点:资源占用相对过大; 二.frame_anim组件编写 1: 代码里面强 ...

  6. Fit项目分页组件的编写

    2019独角兽企业重金招聘Python工程师标准>>> 项目中涉及列表显示的地方都会用到分页控件,为了能更好地与当前网站的样式匹配,这次要自己实现一个. 所以选择了模板中提供的分页样 ...

  7. 前端学习(2893):导航组件的编写和属性技巧设置

  8. Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022

    我们来做一个上面的这样的页面,我们已经有了html页面,以及css文件了. 首先我们把原来的src文件夹中的内容,备份一下到 src-base文件夹中去. 然后,我们新建一个src文件夹, 先把原来的 ...

  9. 组件化 Todo List 编写笔记

    前言 在学习 Vue.js 组件化开发 Todo List 的时候,自己虽然也能编码实现,但如果不做笔记,只是写代码,学习的效果还不够好.只有把自己的实现思路记录下来,遇到的问题和解决方法也记录下来, ...

  10. VC6.0和VS2005:C++和C#编写调用COM组件

    这篇文章就是关于COM组件的编写和调用的,主要包含了使用VC6.0编写和调用COM组件,VS2005中使用C#编写和调用COM组件,以及在VC6.0和VS2005之间互相调用COM组件. AD: 前一 ...

最新文章

  1. zabbix自动发现规则实现批量监控主机的TCP监听端口
  2. jQuery Ajax详解
  3. HTTP协议的头信息详解
  4. redis 基本类型和命令(一)
  5. Zookeeper02_zk集群搭建
  6. Association, Composition and Aggregation in UI5, CRM, S/4HANA and C4C
  7. 线程同步以及yield()、wait()、Notify()、Notifyall()
  8. android java thread_Android中断并重启一个Thread线程的简单方法
  9. tomcat安全认证
  10. cmake 检查文件更新_2020年6月:Visual Studio对Linux开发平台的更新
  11. java list 命名空间,Spring JAVA 不同类加载器命名空间的理解
  12. 浅谈Java中的栈和堆
  13. RedHat下通过Rdesktop连接window远程桌面
  14. 2018美赛B题翻译
  15. Vivado2017.4软件安装
  16. Android 退出登录实现
  17. 微软word 2019取消交叉引用
  18. SAP 系统销售流程成本和收入的确认
  19. autojs遍历当前页面所有控件_移动端控件(一)-弹窗(Alert/Dialog)
  20. 农夫山泉背后的男人“有点狠”

热门文章

  1. JavaScript 隐性类型转换步骤浅析
  2. VMThread占CPU高基本上是JVM在频繁GC导致,原因基本上是冰法下短时间内创建了大量对象堆积造成频繁GC。...
  3. NetScaler的cookieinsert和sourceip联合保持机制
  4. 能被搜索引擎收录的Blog才是好Blog
  5. android studio: 让项目通过阿里云 maven jcenter 下载依赖资源
  6. Item 27: 明白什么时候选择重载,什么时候选择universal引用
  7. python 字典的函数
  8. Atmospheric Scattering in Unity5
  9. 使用 T4 文本模板生成设计时代码
  10. jquery easyui