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无法parsingwchar_t数组,然后将其打印到控制台
CMD控制台不能很好地处理Unicode。 发送输出到一个文件,并打开它和编辑器,我怀疑你会得到你期望的实际的字符。