我发现很多关于如何在C#windows 表单项目中设置鼠标位置的文章 - 我想在控制台应用程序中执行此操作。如何从C#windows 控制台应用程序设置绝对鼠标位置?
谢谢!
提示:它不是Console.setCursorPosition,它只在控制台中设置文本光标的位置。
答案 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.Forms
和System.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);