c# - 如何在不跳过的情况下精确跟踪鼠标坐标

标签 c# windows registry mouse

我需要一种比这段代码更精确地跟踪鼠标坐标的方法。如果您运行此代码并非常快地移动鼠标或快速改变方向,坐标可能如下所示:50 然后是 40。似乎当鼠标快速移动时它不会跟踪指针覆盖的所有点,如下所示例如,它会跳过 10 个坐标。如果我慢慢移动它,就没有问题。我需要一种方法来跟踪所有指针坐标而不会跳过。我已经尝试使用全局 Hook 的代码项目示例,结果相同。我怎样才能做到这一点?是否可以更改注册表以强制 Windows 跟踪所有坐标。可能吗?我更愿意用 C# 来做,但也会考虑其他方式。谢谢。

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    if (num != 1)
    {
        listBox1.Items.Add(e.X.ToString());

    }
}

最佳答案

您确定鼠标覆盖了从 A 到 B 的所有坐标吗?

来自操作系统的鼠标输入是经过采样的离散数据。这意味着鼠标指针可以跳过坐标,正如您所看到的那样。

如果数据不够高分辨率,请考虑对数据进行插值。

IIRC,您可以增加鼠标的采样率。不记得是怎么回事。不过,我确信网络可以。

关于c# - 如何在不跳过的情况下精确跟踪鼠标坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13105366/

相关文章:

c# - 在 WebAPI 中获取 JSON.NET 以序列化确切类型而不是子类

c# - 如何使用 FluentAssertions 断言属性的默认值?

Java RMI InitialContext : Equivalent of LocateRegistry. createRegistry(int)?

C# 写入 HKCU 中的注册表项不起作用

c# - "Any public static members of XmlDocument are thread safe. Any instance members are not guaranteed to be thread safe": yes, 但

c# - DataGrid 内的单元格编辑策略

python - 在 Windows 到 Linux/OSX 中用 Python 交叉编译

windows - 未向所有用户显示凭据提供程序(包括其他用户)

windows - 在 Windows 中切断/终止 TCP 连接

windows - 神秘的 native "A"注册表项,路径为 : Registry\A