[C#] Koordinaten der Maus in aktiven Fenster

meinerwenigkeit

Grünschnabel
Ich habe bereits die suchfunktion für meine Frage verwendet, wurde aber leider nicht fündig, sollte ich einfach nur falsch gesucht haben tut es mir leid. Also hier meine Frage:
Ist es in C# möglich die relativen Koordinaten des Cursors im aktuell aktiven Fenster (z.B.: Firefox) abzufragen?
 
Über die statische Eigenschaft MousePosition der Control-Klasse kannst du die Mauskoordinaten bezüglich der linken oberen Ecke des Bildschirms abfragen. Wenn es dir dann noch gelinkt die Koordinaten des aktiven Fensters herauszufinden, dann kannst du auch die relativen Koordinaten ausrechnen.
 
Hi!
Hallo Shakie, lange nicht mehr gesehen :)

Sichwort P/Invoke -> PINVOKE .NET - getwindowrect (user32)
*snip*
C#:
[return: MarshalAs( UnmanagedType.Bool )]
static extern bool GetWindowRect( HandleRef hWnd, out RECT lpRect );

[StructLayout( LayoutKind.Sequential )]
public struct RECT
{
    public int Left; // x position of upper-left corner
    public int Top; // y position of upper-left corner
    public int Right; // x position of lower-right corner
    public int Bottom; // y position of lower-right corner
}

readonly Rectangle myRect = new Rectangle();

void button1_Click( object sender, EventArgs e )
{
    RECT rct;

    if (!GetWindowRect( new HandleRef( this, this.Handle ), out rct )) {
        MessageBox.Show( "ERROR" );
        return;
    }
    MessageBox.Show( rct.ToString() );

    myRect.X = rct.Left;
    myRect.Y = rct.Top;
    myRect.Width = rct.Right - rct.Left + 1;
    myRect.Height = rct.Bottom - rct.Top + 1;
}

Kannst gerne deine Lösung hier posten :)
 

Neue Beiträge

Zurück