Как перехватить сообщение в WinForms?

Что такое WinForms эквивалентно следующей строке кода WPF?

HwndSource.FromHwnd(_windowHandle).AddHook(HwndSourceHookHandler);

2 ответа

Решение

В WinForms вы обычно переопределяете WndProc в соответствующем элементе управления / форме. Поскольку каждый элемент управления является HWNDвам не нужно HwndSource стиль зацепки.


Если вы хотите установить хук в C#, вы можете следовать рекомендациям в разделе Как установить хук Windows в Visual C#.NET.

Внутри вашего собственного процесса вы можете использовать метод Application.AddMessageFilter для прослушивания определенных событий, прежде чем они будут отправлены куда-либо. Это не работает между процессами.

Я нашел это, когда искал ответ на один из моих вопросов об обработке событий мыши между родительским и дочерним элементами управления.

Другие вопросы по тегам