纯Win32 API应用程序(无框架)需要访问.NET组件

时间:2011-06-28 18:57:47

标签: winapi com com-interop

什么是最佳技术?在.NET中包装.NET组件(用.NET 3.5编写的类)并在Win32中实例化?该组件具有事件,因此必须支持组件驱动的回调到Win32 API应用程序中。

2 个答案:

答案 0 :(得分:1)

这取决于您的偏好以及.NET组件的设置方式。

将它包装在COM中工作正常,并为您提供基于对象的界面,这通常很好。如果界面很复杂,你也会得到一个很好的类型库。

对于具有简单接口的API,我通常更喜欢在C ++ / CLI中创建包装器。然后包装器可以直接访问.NET组件,您可以使用__declspec(dllexport)轻松导出包装函数。设置这种类型的包装器通常比设置COM更快。

以下是您可能会发现有用的几个链接:

http://www.codeproject.com/KB/dotnet/bridge.aspx

How to use managed code from unmanaged code?

答案 1 :(得分:1)

符合您规格的唯一解决方案是COM。