HWND ForeWindow = GetForegroundWindow();
wchar_t WindowTxt[1024] = { L'\0' };
GetWindowTextW(ForeWindow, WindowTxt, 1024);
wprintf(L"%s\n", WindowTxt);
std::wstring Str(WindowTxt);
std::wcout << L"Wnd: " << Str << L"\n";使用上面的代码获取skype的窗口,即"Skype™“,我得到了输出:
“Skype”
( wcout行无法执行)
1)为什么宽字符版本的GetWindowText不能处理这个字符
2)为什么std::wstring不能解析wchar_t数组,然后将其打印到控制台
发布于 2015-04-08 23:36:37
CMD控制台不能很好地处理Unicode。将输出发送到一个文件中,并在其中打开它并进行编辑,我怀疑您将得到您所期望的实际字符。
https://stackoverflow.com/questions/29527078
复制相似问题