c#获取光标在屏幕中位置的简单实例


在C#中,获取光标(鼠标指针)在屏幕中的位置,通常可以通过`System.Windows.Forms`命名空间下的`Cursor`和`Control`类来实现。以下是一个简单的示例,展示了如何在Windows窗体应用程序中获取光标位置:


using System;
using System.Windows.Forms;

class Program
{
    [STAThread]
    static void Main()
    {
        // 为了使用Windows Forms的Cursor和Control类,我们需要有一个消息循环
        // 这里我们创建一个简单的Form,并立即查询光标位置,然后关闭Form
        Application.Run(new Form()
        {
            Shown += (sender, e) =>
            {
                // 获取光标位置
                Point cursorPosition = Cursor.Position;

                // 输出光标位置到控制台
                Console.WriteLine($"Cursor Position: X={cursorPosition.X}, Y={cursorPosition.Y}");

                // 关闭Form,结束消息循环
                Application.Exit();
            }
        });
    }
}

注意:

- 这个示例使用了`Application.Run()`方法来启动Windows窗体应用程序的消息循环,并创建了一个临时的Form。

- 通过Form的`Shown`事件,我们在窗体显示后立即获取光标位置,并输出到控制台。

- 由于控制台应用程序和Windows窗体应用程序在消息处理机制上有所不同,因此这里使用了`[STAThread]`属性来标记Main方法,这是运行Windows窗体应用程序所必需的。

- `Cursor.Position`属性返回的是屏幕上的光标位置,坐标为屏幕左上角为原点(0,0)。

- 示例中在获取光标位置后立即关闭了Form,这只是一个演示如何获取光标位置的简单方法。在实际应用中,你可能需要在Form的其他事件或方法中获取光标位置,并据此执行相应的操作。