如何丢弃窗口的某些消息?

时间:2019-07-12 14:11:58

标签: winapi windows-messages setwindowshookex

我的目标是在另一个进程的窗口中禁用一些类似于工具提示的内容。如果鼠标移动的坐标在窗口的特定矩形内,我的想法是阻止WM_MOUSEMOVE

我可以使用SetWindowsHookEx接收该消息(WH_CALLWNDPROCWH_GETMESSAGE),但是不允许阻止它们。我可以返回1而不是调用CallNextHookEx,但这不会阻止window的WndProc接收消息。但是,这种方法可用于阻止MOUSE_LL / KEYBOARD_LL中的事件。

SetWindowsHookEx也不是很好,因为它会将钩子安装到系统中所有窗口上。

如何防止其他进程的窗口接收某些Windows消息?

1 个答案:

答案 0 :(得分:2)

WH_GETMESSAGE消息挂钩不允许您“阻止”或取消该消息,但可以对其进行修改。因此,只需将lpMsg->message更改为WM_NULL,以防止目标窗口处理鼠标移动消息。