C # Informationen über das aktuell aktive Fenster erhalten
Ich habe eine Anwendung, die ich im Hintergrund ausführen möchte. Ich möchte den Namen der ausführbaren Datei erhalten, zum Beispiel IExplorer.exe. Ich habe mit folgendem Code rumgespielt:
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
private static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
public static void Main()
{
int chars = 256;
StringBuilder buff = new StringBuilder(chars);
while (true)
{
// Obtain the handle of the active window.
IntPtr handle = GetForegroundWindow();
// Update the controls.
if (GetWindowText(handle, buff, chars) > 0)
{
Console.WriteLine(buff.ToString());
Console.WriteLine(handle.ToString());
}
Thread.Sleep(1000);
}
}
Das bringt mir nur den Fenstertitel und die Handle-ID. Ich möchte den Namen der ausführbaren Datei (und möglicherweise weitere Informationen) erhalten.
Wie erreiche ich das?