我在一年前编写了以下代码,以返回所有当前窗口的列表
#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以读取每个窗口名称而不是上面的内容,以及为什么代码结果会发生变化?