如何在C#中使用Console应用程序设置鼠标光标的位置?

时间:2011-07-16 08:30:49

标签: c# console-application cursor-position mouse-position

我发现很多关于如何在C#windows 表单项目中设置鼠标位置的文章 - 我想在控制台应用程序中执行此操作。如何从C#windows 控制台应用程序设置绝对鼠标位置?

谢谢!

提示:它不是Console.setCursorPosition,它只在控制台中设置文本光标的位置。

4 个答案:

答案 0 :(得分:5)

这是一个旧线程,但为了完成它可以这样做...

use System.Runtime.InteropServices;

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

然后在方法中你想要的任何位置,例如

  SetCursorPos(500, 500);

答案 1 :(得分:4)

在控制台应用程序中,添加对System.Windows.Forms.dll的引用,并使用您已阅读的其他技术。控制台vs windows exe的选择只影响PE头(也许是默认的代码模板,但是你可以轻易地破解它);你仍然可以在控制台exe中使用完整的框架。

您要控制的鼠标是在Windows中,而不是控制台。

答案 2 :(得分:2)

您只需指定Cursor.Position

即可

但是,在控制台应用程序中,您需要添加对WinForms程序集的引用,因为控制台应用程序项目默认情况下不包含对WinForms的引用。

您需要添加System.Windows.FormsSystem.Drawing,后者才能访问Point类。

答案 3 :(得分:2)

修复了Chaz解决中的小错误:

using System.Runtime.InteropServices;


namespace ConsoleImageWorker
{
    public static class Mouse
    {

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

        public static void SetCursorPosition(int x, int y)
        {
            SetCursorPos(x, y);
        }
    }
}

之后,您可以在任何课程中致电:

Mouse.SetCursorPosition(100, 100);