如何使用鼠标挂钩,以便当前窗口永远不会看到特定的鼠标消息

时间:2011-07-21 20:27:50

标签: c++ c winapi

我想要一些窗口永远不会接收鼠标滚轮上升/下降,我可以通过我的鼠标挂钩控制此消息,但有没有办法让窗口永远不会收到这些消息?

我可以通过鼠标钩子验证窗口并检查它是否处于活动状态,然后只是从不向它发送该消息。

我在全球范围内安装了鼠标挂钩,所以我相信我拥有所需的一切。

1 个答案:

答案 0 :(得分:3)

AFAIK挂钩可能无法阻止邮件到达相应窗口的wndproc。

然而,您可以通过继承适当的窗口来实现您的需求。也就是说,用wndproc替换相应窗口的窗口过程(使用带有SetWindowLongPtr标志的GWL_WNDPROC)。它应该将所有消息传递给原始的wndproc,除了那些你想要过滤掉的消息。