Добавление перехватов wndproc в окно Win32

#.net #vb6 #com-interop

#.net #vb6 #com-взаимодействие

Вопрос:

У меня есть собственное окно VB6, и я хочу прослушивать в .NET, когда оно меняет положение или размер, чтобы переместить окно WPF. Я пробовал это в классе HwndSource.fromHWnd(VB6FormHWnd) .NET, но он просто возвращает null вместо экземпляра HwndSource. Я полагаю, это связано с тем, что окно изначально не было создано для размещения содержимого WPF? Я действительно не знаю наверняка. Я хотел использовать его addHook функцию.

Я знаю, что в VB6 есть метод какого-то «подкласса» для обработки сообщений WndProc, и я мог бы вызвать какую-то службу .NET из VB6 в обработчике WndProc для трансляции или пересылки сообщений. Я пробовал это в прошлом с некоторым успехом, но подклассы становятся сложными и вызывают сбои при отладке (через редактор VB6).

Комментарии:

1. learn.microsoft.com/en-us/dotnet/api/…

Ответ №1:

К вашему сведению, никаких сбоев с современным подклассом Thunk (MST) в среде IDE VB6 нет.

Сбой может произойти из-за некоторых других проблем, но не из-за неправильной обработки подклассов.

Комментарии:

1. Отлично. Это должно сработать для меня. Спасибо, что дали мне знать.