C++调用Net Com类
背景
将Net类库注册为允许互操作的COM组件后,可以更加方便被第三方语言类似C++调用。如果想要了解更多C++操作Net类库的方式,可以查看我的另一篇博文概述
环境说明
Net类库开发
下面如图所示就不赘述了,创建没什么特别的Net类库和C++控制台
然后先创建一个ITest
接口,声明如下
对于有事件的声明如下
下面就是接口实现,具体看图示
至此,Net代码级的操作就够了,下面开始设置COM的有关信息。
到这就全部完成了,在Net项目上面右键编译生成,会在输出目录生成如下文件,同时,通过注册表编辑器可以发现在计算机\HKEY_CLASSES_ROOT\
下多了个NetLibrary.Test
的项目,CLSID就是Test类的Guid特性值。
因为Vs比较智能,所以右键编译的时候,已经自动给注册到注册表中去了,对于不是用管理员权限启动的vs,会报错误,只需要以管理员权限启动就可以了。
如果需要在其它环境注册或者卸载,参考如下脚本
C++ 控制台开发
至此,就完成了C++调用Net类库