C++技巧从c++中调用c#的com组件

C++技巧从c++中调用c#的com组件,第1张

C++技巧从c++中调用c#的com组件,第2张

1.首先,创建一个c#类库项目。
2。将AssemblyInfo.cs文件中的[assembly: ComVisible(false)]更改为[assembly: ComVisible(true)],或者在项目属性的“应用程序”中选中“使程序集com可见”复选框。
3。在项目属性的“生成”中选择“注册com interop”复选框。
4。参考以下MSDN (C#编程指南)中COM类的代码和示例:
使用System
使用系统。集合。泛型;
使用系统。文本;
使用系统。Runtime . InteropServices
命名空间Youtube
{
[Guid(" fa 1 bead 8-d5e 2-4a 70-ACDF-0 a 7 FB 4 da 17 FD ")]
公共接口IYoutubeService
{
void UploadFile();
}
[Guid(" 2bd 4711 c-CAC 0-4df 5-B167-447 fcd 00d 55 c "),
class interface(class interface type。auto dispatch)]
public class YouTube service:IYoutubeService
{
public void UploadFile()
{
Console。WriteLine("我的Com测试!");
}
}
}
5。编译,这将生成*。dll文件和*。tlb文件
6。创建一个控制台项目的vc++拷贝*。tlb文件复制到vc++项目目录
7。Vc++代码如下:
# include " STD afx . h "
# import " Youtube . TLB "
# include
# include[pragma comment(lib," comsuppw.lib")
使用命名空间Youtube
int _tmain(int argc,_ TCHAR * argv[])
{
CoInitialize(NULL);
try
{
IYoutubeServicePtr service(_ _ uuidof(YoutubeService));
service-> UploadFile();
}
catch(const _ com _ error & e)
{
}
coun initialize();
返回0;
}
8。编译程序,并复制前面的*。dll文件连同生成的exe,运行程序测试ok!

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++技巧从c++中调用c#的com组件

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情