【发布时间】:2012-04-27 15:36:42
【问题描述】:
我有一个包含 10 个方法和 12 个属性的 c++ dll,是否有任何方法或任何应用程序可以导出要在 c# 中使用的方法的 p/invoke 格式? 我已经使用 OLE 查看器来检查所有方法,例如:
[id(0x00000013)]
BSTR 获取CPUID(
简短的 BeginAddress,
短结束地址);
但我不知道如何在 c# 中使用此函数。
【问题讨论】:
-
DLL 没有属性...看起来您想使用 DLL 提供的 COM 对象,在这种情况下,这是完全不同的问题。
-
对不起,我的解释不好,你说得对,文件是 OCX 文件。如果可以,请提供帮助。
-
您正在寻找“COM互操作”,搜索它或以msdn.microsoft.com/en-us/library/aa645736%28v=VS.71%29.aspx开头
-
哇,这太棒了 Alexei Levenkov,但是当我尝试从我的对象中创建一个实例时,我会收到此错误:Retrieving the COM class factory for component with CLSID {0CA5A93D-F6BD -4398-809A-9F767276EF77} 由于以下错误而失败:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。
-
看来我必须注册ocx文件,但在我的情况下我不能这样做,我必须直接使用方法