在C#和.Net内核中设置鼠标位置
我正在尝试从一个运行在Windows和Linux上的console.NET核心应用程序设置鼠标光标位置。是否有任何API可以让我在两个操作系统上设置位置?使用在C#和.Net内核中设置鼠标位置,c#,linux,windows,.net-core,mouse,C#,Linux,Windows,.net Core,Mouse,我正在尝试从一个运行在Windows和Linux上的console.NET核心应用程序设置鼠标光标位置。是否有任何API可以让我在两个操作系统上设置位置?使用user32.dll中的GetCursorPos可以在具有.NET内核的Windows上获取鼠标光标位置 请参见此示例: class Program { [DllImport("user32.dll")] private static extern bool GetCursorPos(out Point lpPoint);
user32.dll中的GetCursorPos
可以在具有.NET内核的Windows上获取鼠标光标位置
请参见此示例:
class Program
{
[DllImport("user32.dll")]
private static extern bool GetCursorPos(out Point lpPoint);
private static void Main()
{
Point mouse = default;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
GetCursorPos(out mouse);
}
else
{
// How to do on Linux and OSX?
}
Console.WriteLine($"Mouse X:{mouse.X} Y:{mouse.Y}");
}
}
如果您想下载此示例项目进行测试,请放心:Linux无法很好地设置鼠标位置,因为驱动程序AFAIKI说这不太可能。您可能需要确定您在哪个平台上,并使用PInvoke调用相应的系统函数。对于Linux,我怀疑根据使用的GUI,调用会有所不同……我也这么认为,有没有X11函数可以做到这一点?