如何在C#P / Invoke中表示Win32类型?

时间:2010-02-17 13:48:22

标签: c# interop pinvoke

我试图通过P / Invoke从C#调用PrintDlgW Win32 API。在Microsoft的P/Invoke Interop Assistant 1.0的帮助下,我能够从DLL声明必要的数据结构和导入函数。但是如何在C#中使用HDC或HWND?提前谢谢。

3 个答案:

答案 0 :(得分:4)

C ++中的HWND实际上是一个void *,它由IntPtr类型在C#中表示。

答案 1 :(得分:2)

This site有很好的例子,已经为很多API定义了结构。结构为here

答案 2 :(得分:1)

这可能会更容易做到这一点

using HWND = System.IntPtr;

然后在你的pInvoke中使用HWND ......让它更容易阅读并保持与pinvoke签名“相同”。

希望这有帮助, 最好的祝福, 汤姆。