EnumWindows在C ++中的意外输出

时间:2017-01-11 20:06:11

标签: c++ windows winapi enumeration

我在一年前编写了以下代码,以返回所有当前窗口的列表

#include <iostream>
#include <windows.h>

using namespace std;

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
    TCHAR buffer[512];
    SendMessage(hwnd, WM_GETTEXT, 512, (LPARAM)(void*)buffer);
    cout << buffer << endl;
    return TRUE;
}

int main()
{
    EnumWindows(EnumWindowsProc, NULL);
    return 0;
}

这段代码在我最初编写时有效,但是现在我得到的结果列表并不是我所期望的。

我将以下文字重复约40次。

...
0031F6F0
0031F6F0
0031F6F0
0031F6F0
0031F6F0
0031F6F0
0031F6F0
...

如何更改0031F6F0以读取每个窗口名称而不是上面的内容,以及为什么代码结果会发生变化?

0 个答案:

没有答案