将光标设置为所需的点c#

时间:2012-01-04 12:51:58

标签: c# winapi cursor

我试图根据我在kinect的手点移动光标,我可以得到真实的坐标,我的意思是我可以在屏幕上移动图像,但我希望真正的光标根据我的手坐标来确定。我试过Console.SetCursor(x,y),但它给出了异常我也尝试下载windows窗体dll,但我找不到版本4.00。有没有简单的方法将光标设置在所需的位置? (这是顺便说一句,正如我所说的Console.SetcursorPosition不是wodking?)

3 个答案:

答案 0 :(得分:4)

您没有提供有关您应用的大量信息,但我怀疑您只需要从System.Windows.Forms分配给Cursor.Position。您可能需要添加对System.Windows.Forms的引用才能获得对此的访问权限,具体取决于您拥有的项目类型。

如果你想让它保持轻量级并避免引用WinForms,那么你可以pinvokeSetCursorPos

[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);

答案 1 :(得分:2)

只需使用

Cursor.Position = new Point();

您可以找到更多信息here

答案 2 :(得分:0)

感谢您的提问和回答。

我发现了奇怪且不明显的行为。

让您使用多显示器(两个或三个显示器)配置,并在您的应用程序中使用两个窗口。

一个窗口处于活动状态,您可以为第二个窗口设置光标位置。

这两个窗口位于不同显示器上。

然后,您需要两次调用 SetCursorPos!

TWICE,谁会想到?

首先调用将光标移动到显示器之间的虚拟边界。

只有第二个调用将光标移动到第二个窗口所需的位置!

代码示例(经过 6 小时的实验):

parentFragmentManager.popBackStack()