当光标被另一个应用程序捕获时,如何计算鼠标的相对移动?

时间:2018-07-22 00:52:21

标签: c# mouse mousemove

我正在尝试制作一个充当游戏指南针的应用程序,有点像玩家的《未知战场》的指南针,它可以告诉玩家他在看哪个“方向”(以度为单位)。

为此,我正在使用this code.

记录鼠标移动事件

现在,我想跟踪鼠标从我将自己设置为“零”的点开始水平移动了多少,但是游戏捕获了我的光标,并且当它们将光标移回想要的位置时坚持下去,我的代码将其作为一种动向。因此,我无法跟踪相对运动,因为我不知道如何忽略捕获光标的应用程序的重新定位。

我该怎么做?

这是我的代码当前的样子,试图直观地向我展示当前零位置的相对位置:

  private void GlobalEventProviderComp_MouseMoveExt(object sender, Gma.UserActivityMonitor.MouseEventExtArgs e)
    {
        lblMain.Text = e.X.ToString();
        m_tally += e.X - m_previousX;
        m_previousX = e.X;
        lblSecondary.Text = m_tally.ToString();
    }

这里m_tally是应该表示鼠标相对移动的数字,m_previousX是鼠标的先前位置(在注册当前事件之前),lblMain显示当前鼠标X的位置,lblSecondary显示该提示,或相对位置。

0 个答案:

没有答案