在C ++中获取窗口标题

时间:2013-12-28 13:16:34

标签: c++ windows winapi

我正在尝试获取当前窗口的标题,我正在使用它:

string GetActiveWindowTitle()
{
    char wnd_title[256];
    HWND hwnd = GetForegroundWindow();
    GetWindowText(hwnd, wnd_title, sizeof(wnd_title));
    return wnd_title;
}

这对我有用。现在我想在运行时获取每个新打开的窗口的窗口标题。 例如,如果我打开谷歌浏览器,它应该打印Chrome窗口的标题。之后,如果我打开一个记事本文件,它应该打印它的标题。

可能的解决方案是什么?

1 个答案:

答案 0 :(得分:2)

如果要监视任务栏上显示的窗口,可以使用RegisterShellHookWindow功能。

如果您想要监控所有窗口,我相信SetWinEventHook(EVENT_OBJECT_SHOW, ...)是可行的方法。有关实施示例,请参阅Raymond的帖子Using accessibility to monitoring windows as they come and go