C# 如何获取当前屏幕光标位置?

C# 如何获取当前屏幕光标位置?,c#,C#,我的目标是获得屏幕上的当前位置(表单外侧),并通过按“C”保存X,Y坐标 我在谷歌上搜索并找到了一些使用api钩子的建议,但我想知道是否有一种方法可以完全用C代码(.netlib)完成这项任务 如果可能的话,请给我快速的样品,因为我是c#的新手 谢谢只需使用: Cursor.Position 或 为了得到这个职位。然后,您可以映射表单的按键事件: private void Form1_KeyPress(object sender, KeyPressEventArgs e) { if (

我的目标是获得屏幕上的当前位置(表单外侧),并通过按“C”保存X,Y坐标

我在谷歌上搜索并找到了一些使用api钩子的建议,但我想知道是否有一种方法可以完全用C代码(.netlib)完成这项任务

如果可能的话,请给我快速的样品,因为我是c#的新手

谢谢

只需使用:

Cursor.Position

为了得到这个职位。然后,您可以映射表单的按键事件:

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 'c')
        MessageBox.Show(Cursor.Position.ToString());
}
单独的X和Y坐标是位置对象的两个属性


文档:

您是指“绝对屏幕坐标”吗?例如,从屏幕左上角的x&y偏移量(以像素为单位)?@corlettk:是的,这就是我的意思。@Icky:是的,我要Kelly向我们保证,事实上是这样的。可能重复我测试了你的代码,但是当我按下“c键,消息框不显示。我错过什么了吗?也许我走得太快了。你说你是新来的,但我不知道你有多新。如果这太基本,请原谅我,但是您是否在表单编辑器中添加了KeyPress事件?当然,表单上的KeyPress是一件棘手的事情,因为如果控件具有焦点,则不会触发事件。感谢MPelletier,我通过为表单设置Keypreview属性=true找到了解决方案。问候。@Kelly,你刚刚教了我有关KeyPreview的知识。美好的
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 'c')
        MessageBox.Show(Cursor.Position.ToString());
}