How do I get the title of the current active window using c#?


I'd like to know how to grab the Window title of the current active window (i.e. the one that has focus) using C#.

2/20/2011 1:28:03 PM

Accepted Answer

See example on how you can do this with full source code here:

static extern IntPtr GetForegroundWindow();

static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);

private string GetActiveWindowTitle()
    const int nChars = 256;
    StringBuilder Buff = new StringBuilder(nChars);
    IntPtr handle = GetForegroundWindow();

    if (GetWindowText(handle, Buff, nChars) > 0)
        return Buff.ToString();
    return null;

Edited with @Doug McClean comments for better correctness.

12/23/2013 2:42:56 AM

If you were talking about WPF then use:

 Application.Current.Windows.OfType<Window>().SingleOrDefault(w => w.IsActive);

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow