Windows8のVisualStudio2012でMFCを使用しようとしています。次のコードがあります。
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]だけで、その奇妙な文字列メソッドも使用せずに試しました。
誰かが何が起こっているのか教えてもらえますか?