打开当前窗口的名称

本文关键字:窗口 | 更新日期: 2023-09-27 17:53:52

我想知道如何在 C# 中打开当前窗口的名称。我已经看了又看,还没有找到我的问题的解决方案,我希望 stackoverflow 可以提供帮助。

我会想的一个例子

String currentWindow = Window.Current.toString();

谢谢。

打开当前窗口的名称

这是一个片段,以达到我前段时间很可能从 SO 的作者那里获得的预期效果,所以这可能是一个重复的。但同样重要的是,这是片段:

private static string GetActiveWindowTitle()
{
    const int nChars = 256;
    StringBuilder buff = new StringBuilder(nChars);
    IntPtr handle = GetForegroundWindow();
    return GetWindowText(handle, buff, nChars) > 0 ? buff.ToString() : null;
}
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
private static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);

用法示例:

string activeWindowTitle = GetActiveWindowTitle() ?? "Unknown Window";

使用 platform invoke 调用GetForegroundWindow,这会将句柄返回到当前前台窗口。然后,您可以将句柄传递给 GetWindowText 函数,该函数 low 和 behold 将返回窗口标题。

[ DllImport("user32.dll") ]
static extern int GetWindowText(int hWnd, StringBuilder text, int count);  

导入它,然后像这样使用;

int CharacterMap = 256;
StringBuilder StringInput = new StringBuilder(CharacterMap);
IntPtr Window = GetForegroundWindow();
String WindowTitle = GetWindowText(CharactrMap,StringInput,Window) > 0 ? StringInput.ToString() null;

没有注意到上面的帖子。哎呀!D: