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