Если вы проведете небольшое исследование в Интернете, вы увидите много стилей DLLImport для этой функции user32.dll:
HDC GetDC(HWND hWnd);
Вопрос в том, какой тип больше подходит для приложений .NET x64 (или скомпилирован с целью Platform как AnyCPU на компьютере с архитектурой x64 или конкретно как x64)?Например, IntPtr увеличивается до размера 8 в процессе x64, это может быть проблемой?Uint более уместен, чем Uint64?Каков размер указателей, которые эта функция использует при использовании в процессе x64?DLL называется user32.dll, работает ли она как 32-разрядная или 64-разрядная в операционной системе x64?
[DllImport("user32.dll",EntryPoint="GetDC")]
public static extern IntPtr GetDC(IntPtr hWnd);
public static extern uint GetDC(uint hWnd);
public static extern int GetDC(int hWnd);
Спасибо!