Получить окно Win 32 из вызова Wnd Proc
В моем проекте wpf я размещаю окно win 32 с управлением списком. В этом, возможно ли получить это окно Win 32 в обработчике событий Message Hook?
var view = new Win32Host(source.Handle, mViewMgr);
view.MessageHook += View_MessageHook;
IntPtr View_MessageHook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
handled = false;
}
Кто-нибудь, пожалуйста, дайте мне свое предложение?
1 ответ
Я не уверен, что такое Win32Host, но если у вас есть HWND, вы можете получить некоторый связанный объект. Это действительно зависит от класса. Например, если HWND предназначен для элемента управления Windows Forms, вы можете использовать метод System.Windows.Forms.Control.FromHandle или FromChildHandle. Если бы HWND был окном, в котором размещался контент WPF, то вы бы использовали HwndSource.FromHwnd и получили от него RootVisual для получения корневого элемента (например, окна WPF или корневого элемента всплывающего окна).