当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何使用c#获取当前活动窗口的标题?》经验,为你挑选了2个好方法。

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



1> Jorge Ferrei..:

有关如何使用完整源代码执行此操作的示例:

http://www.csharphelp.com/2006/08/get-current-window-handle-and-caption-with-windows-api-in-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;
}

编辑 @Doug McClean评论更好的正确性.


不要忘记做一个好公民.http://blogs.msdn.com/oldnewthing/archive/2007/07/27/4072156.aspx和http://blogs.msdn.com/oldnewthing/archive/2008/10/06/8969399.aspx有相关信息.
一个新的注释,让它运行,`使用System.Runtime.InteropServices;`并重新放置dll导入和静态外部线的位置.在课堂上粘贴它

2> 小智..:

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

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

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有