我正在尝试在 Windows 8 上将 MFC 与 Visual Studio 2012 一起使用。我有以下代码:
BOOL CALLBACK EWP(HWND hwnd, LPARAM lParam)
{
int txtlen = GetWindowTextLengthW(hwnd);
std::wstring s;
s.reserve(txtlen + 1);
GetWindowText(hwnd, const_cast<wchar_t*>(s.c_str()), txtlen);
return TRUE;
}
EnumWindows(EWP, 0);
发生的情况是第一个字符串以“Task Switchin”的形式出现,其余的以“”形式出现。我得到了大约 330 个这样的字符串。我也尝试过不使用那种奇怪的字符串方法,只使用 char buff[300],同样的故事。
有人可以告诉我发生了什么吗?