如何使用c#获取当前活动窗口的标题?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

我想知道如何使用C#获取当前活动窗口的窗口标题(即具有焦点的窗口)。

提问于
用户回答回答于

请参见示例,说明如何使用完整的源代码实现此操作:

[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();

[DllImport("user32.dll")]
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;
}

用户回答回答于

如果你正在讨论WPF,那么使用:

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

扫码关注云+社区