Узнать содержимое поля ввода
Всем доброго времени суток! Подскажите, есть ли в WinAPI или ещё где функция, позволяющая узнать выделенный текст в каком-нибудь элементе ввода. Буду признателен за ответ.
Цитата: Barmidrol
Всем доброго времени суток! Подскажите, есть ли в WinAPI или ещё где функция, позволяющая узнать выделенный текст в каком-нибудь элементе ввода. Буду признателен за ответ.
Это не WinAPI конечно, но не подойдет случаем?
Код:
Edit1->SelText
Спасибо, но мне нужно узнать содержимое поля другой программы.
Честно не очень разбираюсь в этом, а если послать команду Ctrl-c и взять из буфера обмена?
WM_GETTEXT?
Цитата: Barmidrol
Всем доброго времени суток! Подскажите, есть ли в WinAPI или ещё где функция, позволяющая узнать выделенный текст в каком-нибудь элементе ввода. Буду признателен за ответ.
Если интересует работас программой написанной на С++Builder, то тебе сюда
Если же интересует вообщем, работа с любой программой, то надо попасть в процесс "чужой" программы (хук, удаленный поток), а потом обычные сообщения виндоуз. Ну есть еще момент, некоторые программы, например Word, Excel, IE и т.п. позволяют "легально" получить текст и многое другое через ОЛЕ-автоматизацию.
Например
Код:
char szBuf[200] = "\0";
char szSelText[200] = "\0";
int st = 0, end = 0;
SendMessage((HWND)0x10D9A, WM_GETTEXT, sizeof(szBuf), (LPARAM) szBuf);
SendMessage((HWND)0x10D9A, EM_GETSEL, (WPARAM)&st, (LPARAM)&end);
strncpy(szSelText, szBuf + st, end - st);
char szSelText[200] = "\0";
int st = 0, end = 0;
SendMessage((HWND)0x10D9A, WM_GETTEXT, sizeof(szBuf), (LPARAM) szBuf);
SendMessage((HWND)0x10D9A, EM_GETSEL, (WPARAM)&st, (LPARAM)&end);
strncpy(szSelText, szBuf + st, end - st);
Всем огромнейшее СПАСИБО за помощь!:):):) Буду разбираться!::D