Исправление к последнему сообщению:
//unicode std::string or std::wstring
typedef std::basic_string<TCHAR> unicode_string;
unicode_string GetWinString(HWND h)
{
int len = ::GetWindowTextLength(h);
if (len)
{
std::vector<TCHAR> tmp(len + 1,_T('\0'));
::GetWindowText(h,&tmp[0],len + 1);
return &tmp[0];
}
return _T("");
}