Как получить содержимое текстового поля на C++?Содержимое текстового поля C++
3
A
ответ
7
Используйте API-интерфейс Win32 GetWindowText, проходящий в ручке окна текстового поля.
Если вы хотите получить текст с другого процесса, используйте WM_GETTEXT вместо SendMessage.
1
1
GetWindowText()
0
//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("");
}
1
Поправка к последнему сообщению:
//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("");
}
+0
Под вашими сообщениями есть опция «изменить»; пожалуйста, не оставляйте дополнительные ответы. – MSalters
Если в строке У меня была "1 + 1", вы знаете, как я могу это сделать сделать 1 + 1? – ITg
@ITg: Вам, вероятно, потребуется проанализировать строку на части, а затем выполнить расчет. –
ОК, спасибо за помощь – ITg