将托管的IntPtr窗口句柄参数传递给期望HWND的C ++ COM dll函数

时间:2011-12-20 08:47:45

标签: c# c++ .net com com-interop

我正在创建一个COM对象,它需要一个来自WPF(HwndHost)的窗口句柄的HWND。我只有IntPtr来自HwndHost.Handle。

如何将此正确传递给COM对象?我没有使用P / Invoke。

我不关心转换是在.NET还是C ++中发生,而是更喜欢最佳实践。

1 个答案:

答案 0 :(得分:3)

由于类型安全已经不在窗口,你不能把它作为一个int传递吗?一个hwnd只是一个32位的值(不确定它是64位Windows版本的64位?)。将它作为int传递给你的COM对象,然后将它转换为HWND,你就可以了。

相关问题