Как получить дескриптор HWND из System.Windows.Forms.Form

Учитывая форму

System.Windows.Forms::Form Form1;

и дескриптор окна

HWND hWnd;

Как установить hWnd в свойство Handle Form1, которое действительно существует как общедоступное свойство, которое "Возвращает дескриптор окна, к которому привязан элемент управления (Унаследовано от Control.)" в соответствии с Документация Microsoft на System.Windows.Forms:: Form? В конструкторе моей формы Form1 я пробовал

hWnd = this.Handle;

но компилятор жалуется:

ошибка C2228: слева от '.Handle' должен быть класс /struct/union type 'MyNamespace:: Form1 ^ const', вы намеревались использовать '- > ' вместо?

Итак, я пытаюсь

hWnd = this->Handle;

и просто

hWnd = Handle; // Since I'm in the Form

а затем компилятор говорит:

ошибка C2440: '=': невозможно преобразовать из "System:: IntPtr" в "HWND". Доступен оператор пользовательского преобразования, который может выполнить это преобразование, или оператор не может быть вызван

Ответы

Ответ 1

Я нашел решение, и мне все равно, если это kludge.

hWnd = static_cast<HWND>(Handle.ToPointer());

Works.