获取C++中的窗口标题

Getting Window Title In C++

本文关键字:窗口标题 C++ 获取      更新时间:2023-10-16

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

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

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

可能的解决方案是什么?

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

如果你想监控所有窗口,我相信SetWinEventHook(EVENT_OBJECT_SHOW, ...)是要走的路。请参阅Raymond的文章 使用可访问性来监视窗口 当它们来来去去时,一个实现示例。