在 Java 中,如何测量鼠标移动的速度但禁用实际的光标移动。例如,当有人在桌子上滑动鼠标时,我想测量他/她在没有实际移动光标的情况下滑动鼠标的速度。
我已经尝试通过将鼠标位置重置为特定坐标(机器人类)来做到这一点,但是当我快速滑动时鼠标能够逃脱。
如果这在 Java 中是不可能的,那么 C# 或 C++ 解决方案就可以了。
谢谢
这取决于操作系统,但对于 Windows,您可以尝试使用 Input Hooks。我以前不得不使用它并且它有效。该解决方案有点复杂,因为您必须编写一个提供函数地址的 dll,您可以将其插入到 Windows 中的输入挂钩链中。这基本上是 autohotkey 所做的,但它们提供了一个非常好的脚本界面,并且它们代表您完成了设置各种 dll 和 Win32 调用的所有繁重工作。如果您对输入钩子感到好奇:钩子概述
如果你真的想阻止鼠标移动事件,你需要做得更低——在输入过滤器层的 c/c++ 中。这里有一个问题可以为您指明正确的方向:Blocking mouse input from a service in Vista
可能可以使用 autohotkey (它为你做了很多细节的事情)