Предполагая, что вы используете Windows, вы можете использовать следующие сообщения:
WM_GETTEXTLENGTH
и WM_GETTEXT
.
Сначала получите длину выделенного текста, затем выделитебуфер, чтобы убедиться, что он достаточно большой, а затем получить фактический текст.Легко.
Пример:
const UINT length = ::SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0);
LPTSTR pszText = new TCHAR[length + 1];
::SendMessage(hWnd, WM_GETTEXT, length + 1, pszText);
// pszText will now contain the text you want, do what you want with it
delete[] pszText; // Remember to delete else you will leak.