Как типы Win32 представлены в C # P / Invoke? - PullRequest
6 голосов
/ 17 февраля 2010

Я пытаюсь вызвать Win32 API PrintDlgW из C # через P / Invoke. С помощью P / Invoke Interop Assistant 1.0 от Microsoft я могу объявить необходимые структуры данных и импортировать функции из DLL. Но как использовать HDC или HWND в C #? Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 17 февраля 2010

HWND в C ++ действительно пустота *, которая представлена ​​в C # типом IntPtr.

2 голосов
/ 17 февраля 2010

На этом сайте есть хорошие примеры со структурами, уже определенными для множества API. Структура здесь .

1 голос
/ 17 февраля 2010

Это может сделать это проще

using HWND = System.IntPtr;

Затем используйте HWND в вашем pInvoke ..., чтобы его было легче читать и сохранить "таким же", как подпись pinvoke.

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

...