我用C++做了一个COM组件(dll),想在C#中使用这个组件,我已经把组件的tlb文件添加到Reference里了,求使用代码片断 我用C++做了一个COM组件(dll),想在C#中使用这个组件,我已经把组件的tlb文件添加到Reference里了,求使用代码片断如LeEventLib a = new LeEventLib();a.methods1();我没有用过C#,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1,不是在引用中添加tlb文件,而是直接添加Dll文件2,比如kernel32.dll中的FormatMessage方法,这样申明一下,就可以调用了[DllImport("kernel32.dll", CharSet = CharSet.Auto)] private unsafe static extern int FormatMessage(int dwFlags, ref IntPtr lpSource, int dwMessageId, int dwLanguageId, ref String lpBuffer, int nSize, IntPtr* Arguments); cbo5(),谢谢,我已经用出来了,我还想问一个问题,我用C++做的COM组件,在C#工程中引入后我定义的那些常量都找不见了,但是接口函数和结构体能识别出来,是不是C#不支持常量定义阿?谢谢!! To楼上:楼主是在COM调用,不是PInvoke。To楼主:既然你把tlb加到Reference中了,那么你可以在C#中看到类似:Interop.XXX的namespace,里面就是你的C++实现。下面是一个C#使用片断:using Interop.XXX;...LeEventLib a = new LeEventLib();a.methods1();... 还是用tlb要方便多了。C#是支持常量定义的! 请问,CheckedListBox控件怎么没有单个选定项的属性啊 C#.NETsocket多客户端 的 服务器端编程思想和代码 反射工厂怎么弄?详细点~代码贴出来。~谢谢~ 平台调用,出现 System.AccessViolationException 如何远程修改文件属性 输入法死机的问题 c#怎样编写dxf文件 水晶报表发布的问题 关于C# 【苦寻人才】精通C# Windows Form 程序开发 工作地点:南京 请问C#中处理TCP/IP并发链接请求?大家都来帮帮忙吧。。。 如何获取当前函数的名称?
2,比如kernel32.dll中的FormatMessage方法,这样申明一下,就可以调用了
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private unsafe static extern int FormatMessage(int dwFlags,
ref IntPtr lpSource,
int dwMessageId,
int dwLanguageId,
ref String lpBuffer,
int nSize,
IntPtr* Arguments);
谢谢!!
楼主是在COM调用,不是PInvoke。To楼主:
既然你把tlb加到Reference中了,那么你可以在C#中看到类似:
Interop.XXX
的namespace,里面就是你的C++实现。
下面是一个C#使用片断:using Interop.XXX;...
LeEventLib a = new LeEventLib();
a.methods1();
...