【问题标题】:Set mouse position in WPF?在WPF中设置鼠标位置?
【发布时间】:2011-11-18 16:51:34
【问题描述】:

我有一个带有坐标的二维数组,我想让鼠标按照这些坐标在 WPF 应用程序中创建的特定模式移动。你能帮助我吗?我已经尝试过 Cursor 类,但它不起作用。显然我做错了什么。

private void SetPosition( int a, int b)
{
    this.Cursor = new Cursor(Cursor.Current.Handle);
    Cursor.Position = new Point(a, b);
}

这是我使用的方法 a 和 b 来自数组。提前致谢!

PS 该方法位于每秒触发 20 次的事件中。

【问题讨论】:

  • 请更详细地定义“它不起作用”。你期望的模式是什么,你得到的模式是什么?如果光标根本没有移动,这也是相关信息。
  • 它根本不动!!图案是随机的没关系。我正在尝试让它以随机数字移动,以将其合并到一个为其提供特定坐标的项目中。
  • 这能回答你的问题吗? How to move mouse cursor using C#?
  • 鉴于似乎没有特定于 WPF 的方法,这个问题似乎是多余的 o stackoverflow.com/questions/8050825/…

标签: c# wpf


【解决方案1】:

我不完全确定在 WPF 中是否有更好的方法(您使用的代码似乎针对 WinForms),但在 SetCursorPos 上使用 Platform Invoke 似乎可以解决问题:

private void SetPosition(int a, int b)
{
    SetCursorPos(a, b);
}

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

【讨论】:

    【解决方案2】:

    你必须使用 SendInput

    http://inputsimulator.codeplex.com/ 让它有点简单

    【讨论】:

    • OP 使用的是 WPF,而不是 Windows API。
    • 你必须在这个中使用Win32 api...我不知道任何其他方式
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多