是否有办法使用(参照)DLL写在一种非管理C++(不COM库)在我的C#应用程序?

当我试图参考它从Visual Studio,我得到'不COM对象'错误信息。

也许有某种翻译\路由器,将COMify我DLL参考?我不知道如何COM和COM互操作的工作,因为我开始编程的时候这已经不需要我。

谢谢你。

有帮助吗?

解决方案

你需要使用DllImport属性。这是一个例子Win32问题功能:

[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool PostMessage(IntPtr handle, int message, IntPtr wparam, IntPtr lparam);

其他提示

见"消费不受管DLL功能"专题MSDN:

http://msdn.microsoft.com/en-us/library/26thfadc.aspx

没有必要添加任何COM代理.净的可消耗的Dll直接使用 [DllImport] 属性。你还有完全控制的调度之间。净和不受管理DLL通过指定其他属性。

乔已经回答了这一点,所以我要粘着这上来救你自己一些时间并不具有挖掘和损坏功能签名,P/调用具有相当完整的图书馆Win32签名的形式,既是一个wiki和一些工作室的插件!

检查出来的 P/调用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top