拦截所有WM_MOUSEWHEEL消息

时间:2012-02-27 21:02:59

标签: c# .net windows winapi

我一直在搜索Windows API,寻找一种方法来拦截所有WM_MOUSESCROLL消息,然后才能访问它们的透视消息队列。在拦截之后,我需要更改一些关于它们的内容并将它们发送到不同的[或相同的]消息队列。

我需要相当有效地执行此操作,因为它将在相当大的应用程序上运行。

关于如何实现这一目标的任何想法?我还没找到办法。

2 个答案:

答案 0 :(得分:2)

您最好的选择是使用low level mouse event hook进行非托管拦截。有关详细信息,请参阅this MSKB article

答案 1 :(得分:0)

使用MFC时,您可以使用PreTranslateMessage,或在自定义框架中搜索WndProc函数,看看它是否提供类似的功能。否则鼠标挂钩是个好主意。特别是当你想要全球化的时候。