Как перехватить сообщение в WinForms?
Что такое WinForms эквивалентно следующей строке кода WPF?
HwndSource.FromHwnd(_windowHandle).AddHook(HwndSourceHookHandler);
2 ответа
Решение
В WinForms вы обычно переопределяете WndProc в соответствующем элементе управления / форме. Поскольку каждый элемент управления является HWND
вам не нужно HwndSource
стиль зацепки.
Если вы хотите установить хук в C#, вы можете следовать рекомендациям в разделе Как установить хук Windows в Visual C#.NET.
Внутри вашего собственного процесса вы можете использовать метод Application.AddMessageFilter для прослушивания определенных событий, прежде чем они будут отправлены куда-либо. Это не работает между процессами.
Я нашел это, когда искал ответ на один из моих вопросов об обработке событий мыши между родительским и дочерним элементами управления.