首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鼠标状态winapi

鼠标状态winapi
EN

Stack Overflow用户
提问于 2011-01-21 19:59:07
回答 2查看 4.5K关注 0票数 1

有没有办法在C++中使用winapi获取鼠标状态(位置、按钮状态)?我不想使用windows消息(WM_MOUSEMOVE、WM_LBUTTONDOWN等)。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-21 20:10:46

听起来你在找GetCursorInfoGetKeyState。后者使用指定感兴趣的鼠标按钮的virtual key codes调用。

票数 2
EN

Stack Overflow用户

发布于 2011-01-25 00:42:37

如果你只需要光标的位置,你可以使用GetCursorPos()。请记住,GetCursorInfo()和GetCursorPos()都返回屏幕坐标。使用ScreenToClient()转换为工作区偏移。

尽管操作人员不想使用Windows消息,但我只想提到一些作为附注的内容。

我发现,将光标位置作为消息处理程序(例如WM_SETCURSOR)的一部分获取时,大多数文献都建议使用GetMessagePos()来检索发送消息时光标的位置。但是,它是鼠标移动之前的位置,而不是移动之后。因此,当试图在一个区域上进行鼠标悬停检测时,返回的位置会落后于一个像素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4758527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档