while(TRUE){
HWND window = GetForegroundWindow();
WCHAR str[300] ;
ZeroMemory(str, sizeof(str));
GetWindowTextW(window,str,299);
wcout<<L"11"<<endl;
wcout<<str;
wcout<<L"22"<<endl;
Sleep(1000);
}
this code will output "11",and then stuck. When I try to use char
, cout
and GetWindowTextA
,this loop can run and output English character normal.
With single step debug, the loop still run actually. But don't output anything. And str
show window's title normal.
CodePudding user response:
OK ! Just need to set locale
that I forget.
wcout.imbue(locale("your locale"));