Регистрация пользовательских оконных классов win32 из c #

У меня есть новое приложение, написанное на WPF, которое должно поддерживать старый API, который позволяет ему получать сообщение, которое было отправлено в скрытое окно. Обычно другое приложение использует FindWindow для идентификации скрытого окна, используя имя своего пользовательского класса окна.

1) Я предполагаю, что для реализации пользовательского класса окна мне нужно использовать вызовы win32 старой школы?

Мое старое приложение на c ++ использовало RegisterClass и CreateWindow, чтобы сделать самое простое невидимое окно.

Я считаю, что я должен быть в состоянии сделать то же самое в C #. Я неЯ не хочу, чтобы мой проект компилировал любой неуправляемый код.

Я попытался унаследовать от System.Windows.Interop.HwndHost и с помощью System.Runtime.InteropServices.DllImport, чтобы использовать вышеупомянутые методы API.

Благодаря этому я могу успешно разместить стандартное окно win32, например "ListBox» внутри WPF. Однако, когда я вызываю CreateWindowEx для моего собственного окна, оно всегда возвращает ноль.

Мой звонок в RegisterClass успешен, но я не уверен, что я должен установить для члена WNDCLASS.lpfnWndProc.

2) Кто-нибудь знает, как это сделать успешно?

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

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