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

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

System.Windows.Forms::Form Form1;

и ручка окна

HWND hWnd;

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

hWnd = this.Handle;

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

ошибка C2228: слева от ".Handle" должен иметь класс / структура / объединение, тип - «MyNamespace :: Form1 ^ const»; Вы намеревались использовать & quot; & gt; & ap; вместо?

Так я стараюсь

hWnd = this->Handle;

и просто

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

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

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

 Zharios03 апр. 2018 г., 12:48
Какое пространство имен вы используете в вашей программе .net, чтобы объявитьHWND hWnd;?

Ответы на вопрос(1)

Решение Вопроса

Я нашел решение, и мне все равно, будет ли это клуджем.

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

Работает.

 16 мая 2012 г., 17:30
Насколько я понимаю, это правильный способ сделать это.

Ваш ответ на вопрос