在Windows(Windows 7和更高版本)上获取鼠标光标位置或按钮状态的最合适方式是什么?我以前使用DirectInput,但我不再使用它,不希望。我看到有GetCursorPos,但是,我没有看到任何获取鼠标按钮状态的东西。我之前读过的,只是阅读窗口消息(如WM_LBUTTONUP)被认为是实时应用程序的“缓慢”,所以我不知道任何其他选项。在Windows上获取鼠标光标位置和按钮状态
1
A
回答
5
如果要轮询/查询当前光标位置,可以使用GetCursorPos。要查看按钮状态,请使用GetAsyncKeyState。
如果您正在窗口中实现消息循环,您将获得鼠标移动的通知是WM_MOUSEMOVE。您将通过列出的通知here收到鼠标输入通知。
2
WM_LBUTTONUP
与任何窗口消息一样好,因为窗口化游戏非常棒,因为它仅在鼠标单击客户区时才生成,所以您可以自由调整窗口大小并移动窗口。
作为替代直接输入,你可以用它占用更多的代码来初始化原料投入,但它去与鼠标的移动,因为WM_INPUT
产生的最佳途径当物理移动鼠标,而不是光标,因此您可以将光标剪辑到客户端区域,而不用担心用户可能撞到剪辑矩形的一侧,并且鼠标移动消息不会再生成。 link
相关问题
- 1. 获取鼠标光标位置的windows组件名称
- 2. 从鼠标光标位置
- 3. 如何获取svg和鼠标光标位置正确
- 4. 在C Sharp中获取鼠标按钮的状态
- 5. 在键上获取光标位置
- 6. 在Flex Panel上获取鼠标位置
- 7. 在window.resize上获取鼠标位置
- 8. 鼠标光标在Javascript中的位置?
- 9. 获取光标位置
- 10. firemonkey设置鼠标光标位置
- 11. 确定鼠标按钮开关状态
- 12. Java检查鼠标按钮状态
- 13. onMouseMove获取鼠标位置
- 14. 获取鼠标位置
- 15. 如何获取鼠标光标在曲线上的位置对应的值?
- 16. 如何在Windows Forms C#中伪造鼠标光标位置?
- 17. 如何在C上设置鼠标光标位置?
- 18. 在mac上的visual studio中设置鼠标光标位置
- 19. 在鼠标光标下获取字
- 20. WinAPI获取鼠标光标图标
- 21. PyGame从位图设置鼠标光标
- 22. 鼠标光标位置改变
- 23. Windows 7上的多个鼠标光标
- 24. 更改鼠标光标在按钮上 - 正常指针
- 25. 如何获取鼠标悬停事件上的当前文本光标位置?
- 26. 鼠标光标位图
- 27. 在“菜单键”上按下,ContextMenuStrip不会在鼠标光标位置弹出
- 28. 在mailItem中获取光标位置htmlbody
- 29. 鼠标光标位置在窗体上调整大小
- 30. 获取光标位置或光标所在行的行数TinyMCE
如果我正确记得,'GetCursorPos'将是最后处理的消息中的当前值。如果你想让键状态与位置保持一致,你应该使用'GetKeyState',它也是最后处理的消息的当前状态。 –
@AdrianMcCarthy:不,“GetCursorPos”与“GetAsyncKeyState”一起使用,“GetMessagePos”与“GetKeyState”一起使用。 – jamesdlin
@ jamesdlin:啊,谢谢你的纠正。 –