VC判断事件是否发生

来源:百度知道 编辑:UC知道 时间:2024/05/31 11:22:58
我想在程序的某个地方判断鼠标是否移动,应该怎么办?
我想用类似消息捕获之类的函数来捕获判断WM_MOUSEMOVE消息是否产生,这样可以么?应该用什么函数呢?
回1楼;
是本程序窗口的消息。能具体说说怎么捕获WM_MOUSEMOVE消息么?
我只是想判断鼠标是否移动,而不是要响应它

回 皇家救星1985:
那怎么在不动的时候把flag置回0呢?

Ctrl + W 呼叫出建立类向导

在里面Message Maps页面的右边找到WM_MOUSEMOVE,双击
在下边就会多出一个一个列表项,双击进入该函数进行代码

如果有鼠标移动这个函数(OnMouseMove)就会被调用
------------------------------------------
一样道理,添加某个变量flag,开始时值置0,在OnMouseMove里面将它的值置1
只要判断flag的值是否为1就知道鼠标是否发生移动了
------------------------------------------
每次你判断鼠标是否移动后(无论是否移动)就顺便置0就行了

使用SetWindowHookEx函数
建立一个HOOK来监视WM_MOUSEMOVE事件.不知道你明白了没有!
不懂就去MSDN或者BAIDU中查下SetWindowHookEx函数你就知道了

鼠标移动,会自动添加WM_MOUSEMOVE消息到消息队列。在消息处理函数中添加WM_MOUSEMOVE的case语句,进行相应处理,就是你所指的捕获了吧

你是要捕获自己的程序窗口某个区域的MOUSEMOVE 消息还是,其它应用程序的窗口消息? 如果是自己的程序窗口很简单只需要捕获WM_MOUSEMOVE消息.要是捕获其它应用程序的消息,就需要Hook鼠标了.具体的内容你可以找Hook的资料.就不细说了!