ich melde mich wieder mit einer Frage..
Ich möchte die Rectangle-Werte von dem Rechner Fenster anzeigen lassen.. doch wenn ich den Button klicke, bekomme ich für alle 4 Parameter den Wert 0.
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr FindWindow(string strClassName, string strWindowName);
[DllImport("user32.dll")]
public static extern bool GetWindowRect(IntPtr hwnd, ref Rect rectangle);
public struct Rect
{
public int Left { get; set; }
public int Top { get; set; }
public int Right { get; set; }
public int Bottom { get; set; }
}
......
public static void RechnerWindowLocation()
{
Process[] processes = Process.GetProcessesByName("Calculator");
Process lol = processes[0];
IntPtr ptr = lol.MainWindowHandle;
Rect NotepadRect = new Rect();
GetWindowRect(ptr, ref NotepadRect);
MessageBox.Show($"Left:{NotepadRect.Left} Right:{NotepadRect.Right} Top:{NotepadRect.Top} Bottom:{NotepadRect.Bottom}");
}
private void button1_Click(object sender, EventArgs e)
{
RechnerWindowLocation();
}
Der Code funktioniert zwar.. doch ich bekomme die Werte " Left:0 Right:0 Top:0 Bottom:0 "
Kann mir jemand verraten, was ich falsch mache?
Vielen Dank im Voraus !!
Grüße,
h300