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

Win32类型在C#P/Invoke中是如何表示的?,c#,interop,pinvoke,C#,Interop,Pinvoke,我试图通过p/Invoke从C#调用PrintDlgW win32api。在Microsoft的帮助下,我能够声明必要的数据结构并从DLL导入函数。但是如何在C#中使用HDC或HWND呢?谢谢。在C++中, HWND是一个空洞*,它是用因特尔类型表示的。 using HWND = System.IntPtr; 使用HWND=System.IntPtr; 然后在你的pInvoke中使用HWND…使其更容易阅读,并保持与pInvoke签名“相同” 希望这有帮助, 顺致敬意, Tom.有一些很好的例

我试图通过p/Invoke从C#调用PrintDlgW win32api。在Microsoft的帮助下,我能够声明必要的数据结构并从DLL导入函数。但是如何在C#中使用HDC或HWND呢?谢谢。在C++中,

HWND是一个空洞*,它是用因特尔类型表示的。 using HWND = System.IntPtr; 使用HWND=System.IntPtr; 然后在你的pInvoke中使用HWND…使其更容易阅读,并保持与pInvoke签名“相同”

希望这有帮助, 顺致敬意,
Tom.

有一些很好的例子,其中已经为很多API定义了结构。结构是.

如果你喜欢C语言看起来像C++,你可以这样做。就我个人而言,我会避免这样做。