有没有办法在C++中使用winapi获取鼠标状态(位置、按钮状态)?我不想使用windows消息(WM_MOUSEMOVE、WM_LBUTTONDOWN等)。
谢谢!
发布于 2011-01-21 20:10:46
听起来你在找GetCursorInfo和GetKeyState。后者使用指定感兴趣的鼠标按钮的virtual key codes调用。
发布于 2011-01-25 00:42:37
如果你只需要光标的位置,你可以使用GetCursorPos()。请记住,GetCursorInfo()和GetCursorPos()都返回屏幕坐标。使用ScreenToClient()转换为工作区偏移。
尽管操作人员不想使用Windows消息,但我只想提到一些作为附注的内容。
我发现,将光标位置作为消息处理程序(例如WM_SETCURSOR)的一部分获取时,大多数文献都建议使用GetMessagePos()来检索发送消息时光标的位置。但是,它是鼠标移动之前的位置,而不是移动之后。因此,当试图在一个区域上进行鼠标悬停检测时,返回的位置会落后于一个像素。
https://stackoverflow.com/questions/4758527
复制相似问题