在WPF中设置Mouseposition

Tom*_*ove 2 c# wpf kinect

可能重复:
用c#移动鼠标

我将用Kinect手势替换我的鼠标,但我找不到为WPF应用程序设置鼠标位置的方法.

提前致谢

汤姆

Den*_*nis 7

使用.NET BCL是不可能的.但是,如果你真的想要它,你可以使用原生SetCursorPosUser32.dll.

[DllImport("User32.dll")]
private static extern bool SetCursorPos(int x, int y);
Run Code Online (Sandbox Code Playgroud)

正如其他人最有可能指出的那样,您可以实现相同的使用System.Windows.Forms,但是在开发WPF应用程序时更喜欢使用DllImport.


如果您要在应用程序中使用Kinect传感器,我会亲自编写自定义WPF控件,而不是尝试覆盖系统鼠标:

  • 您必须仔细考虑使用Kinect显示用户意图,例如,选择一个选项,让用户将鼠标悬停在按钮上并在操作前显示计时器.
  • 您希望有一个自定义视觉来表示屏幕上的位置,传统光标是不够的.

在今年早些时候参加的X360 Kinect会议上,几乎有一半时间用于管理用户体验,因为它与简单的点击式交互不同.

如果您有兴趣,我可以上传/发送电子邮件来自Kinect会议的幻灯片.他们读得很好.