我可以通过捕获WM_MOUSEMOVE消息来检测窗口上的光标移动。此消息包含x和y坐标,但我需要弄清楚用户是否尝试水平或垂直移动鼠标。如果x坐标比y更显着变化,我想忽略垂直运动。我是否需要使用其他消息?谢谢!
答案 0 :(得分:4)
获得之前的坐标后,您可以将起始位置与最新位置进行比较。如果差异大于某个任意数量(您决定),则执行您的代码。
*编辑:请在我上面链接的GetMouseMovePointsEx
文档中阅读
GetMouseMovePointsEx函数搜索鼠标中的点 协调历史。如果函数找到了该点,则返回该值 在提供的点之前和之后的最后nBufPoints。
如果您的应用程序提供时间戳,则为GetMouseMovePointsEx 函数将用它来区分两个相等的点 在不同时间录制。
应用程序应使用鼠标坐标调用此函数 从WM_MOUSEMOVE消息收到并将其转换为屏幕 坐标。