指针移动事件未触发。

5

我有一个Windows商店应用程序,可以在系统光标下绘制图像。我使用以下方法捕获所有光标移动:

var window = Window.Current .Content;
window .AddHandler(PointerMovedEvent, new PointerEventHandler (window_PointerMoved), true);

如果我使用鼠标移动光标,则这个功能可以正常工作。

然而,我还有另一个桌面应用程序,它会更改系统光标的位置。我正在使用以下方法编程设置光标的位置:

    [DllImport("user32")]
    private static extern int SetCursorPos(int x, int y);

然而,当光标通过程序移动时,商店应用程序上的PointerMovedEvent不会触发!有人知道我该如何解决这个问题吗?
1个回答

0

我以为在 Windows 应用商店中不能使用 System.Runtime .InteropServices,但实际上是允许的。因此,我通过一个线程来主动检查光标当前位置的方式来实现所需的行为:

[ DllImport("user32.dll" )]
private static extern bool GetCursorPos(ref Win32Point pt);

这不是最优雅的解决方案,但它能够工作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接