首先要把C#编写的动态库编译成COM接口,具体办法请参考:
http://www.panshy.com/article/Sort_Desktop/other/2013-06-25/2415.php
http://www.codeproject.com/Articles/7859/Building-COM-Objects-in-C
vc6下调用步骤如下:
1.新建一个mfc工程.
2.[view]->[classwizard]->[Automation],选择[From a type library]
3.选择C#生成的tlb文件
4.选择你需要的类
5.确认后,你的工程里将多出一个cpp和一个h文件,这就是C#中传出的类的定义.接下来就可以使用了.
6.在你自己的cpp文件中include新生成的h文件.
7.然后这样来使用:
CoInitialize(NULL);
IDataAPI myinterface;
if(myinterface.CreateDispatch("Huaguang.YXIssue.IDataAPI"))
{
CString sss = myinterface.GetPageHtmlById("");
}
CoUninitialize();
要注意3点:
1.要用Visual Studio命令行工具注册一下C#生成的dll.
regsvcs /fc F:\myLab\testComDllVc6\Debug\PaperDataAPI.dll
2.要CoInitialize(NULL);初始化.
3.IDataAPI是导出的类名.