从移动鼠标到窗口收到MOUSEMOVE消息之间,Windows都干了什么?

Sodar 2008-10-17 01:48:29
用户移动了一下鼠标,最终鼠标所在位置的窗口收到了一个WM_MOUSEMOVE消息。对于大多数程序来说,对这个消息进行处理以进行响应就够了。
可是,这段时间内到底发生了什么事情?
按照我的推测,应该是由鼠标驱动程序发鼠标移动的事件通知windows窗口管理模块,然后由该模块检查一下这个消息应该发送给哪个窗口。

问题是:这个过程可以HOOK吗?即我们是否可以接管并修改鼠标的各种动作?

另外一个小问题:在Windows系统中,如何才能彻底隐藏鼠标光标?
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-10-17
  • 打赏
  • 举报
回复
可以用SetWindowsHookEx来Hook。
隐藏光标可以试试Hook SetCursor函数。
Sodar 2008-10-17
  • 打赏
  • 举报
回复
也许我的问题不太清楚。

1. 要求隐藏鼠标是指在整个系统的全局范围内隐藏,不是只在我的程序里隐藏;
2. 不是要在某个进程中HOOK消息,是在更底层(内核?),在消息分发到窗口的消息队列之前能不能截获?
zhoujianhei 2008-10-17
  • 打赏
  • 举报
回复
鼠标HOOK当然可以,各个层次都可以HOOK。网上资料也已很多。
xsc2001 2008-10-17
  • 打赏
  • 举报
回复
鼠标消息的键盘消息都是可以HOOK到的。藏鼠标光标的话你可以自己定义一个光标用LoadCursor(ID)加载到程序中就行
vcPlayer 2008-10-17
  • 打赏
  • 举报
回复
消息都是可以HOOK的。

诚如你所言,驱动一般发消息给窗口过程:DefWindowProc,然后每个应用程序的这个窗口过程来处理各种各样的消息。HOOK 这个窗口过程,就可以拦截到这些窗口消息。
dirdirdir3 2008-10-17
  • 打赏
  • 举报
回复
修改鼠标的驱动应该可以............

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧