无法使用GetGUIThreadInfo获取Window Title

时间:2011-05-06 01:04:50

标签: c++ winapi

我在谷歌上搜索并发现上述功能在检索窗口标题文本时更可靠,但它不起作用。我没有结果;换句话说,没有捕获标题的字符串。

GUITHREADINFO gui;
gui.cbSize = sizeof(gui);
char pStr[1024];

GetGUIThreadInfo pGetGUIThreadInfo;

HMODULE hinstUser = LoadLibrary((LPCTSTR) "user32.dll"); 
pGetGUIThreadInfo = (GetGUIThreadInfo)GetProcAddress(GetModuleHandle(TEXT("user32.dll")), "GetGUIThreadInfo");
if (pGetGUIThreadInfo(0 , &gui) == 0)
    return NULL;

GetWindowText(gui.hwndFocus, pStr, 1024);

但上面的代码失败了。使用以下代码的工作是什么

HWND hwnd = GetForegroundWindow();
GetWindowText(hwnd, pStr, 1024);

1 个答案:

答案 0 :(得分:1)

我认为如果您使用hwndActive而不是hwndFocus,它会执行您想要的操作。

那就是说,我看不出使用GetForegroundWindow()返回的窗口有什么问题。