WinForms中的HWnd消息挂钩?
什么是WinForms等效于以下WPF代码行?
HwndSource.FromHwnd(_windowHandle).AddHook(HwndSourceHookHandler);
在WinForms中,您通常会在控件/表单中覆盖WndProc 。 由于每个控件实际上都是HWND
,因此您不需要HwndSource
样式的挂钩。
如果要在C#中设置Hook,可以按照如何在Visual C#.NET中设置Windows挂钩的指导原则。
在您自己的进程中,您可以使用Application.AddMessageFilter方法在调度任何地方之前侦听特定事件。 这在进程之间不起作用。
我在寻找有关处理父控件和子控件之间的鼠标事件的一个问题的答案时发现了这一点。