Re: Получение текста из дочернего окна стороннего приложения
От: CEMb  
Дата: 29.01.10 04:09
Оценка:
Здравствуйте, bands, Вы писали:

B>Здравствуйте!

B>Подскажите, кто знает, в таком вопросе:

B>получил хэндлер окна, перебрал все хэндлеры дочерних окон, ни одно не дало мне текст (пробовал GetWindowText и SendMessage с пометкой WM_GETTEXT)


Наскоко я понимаю, (некоторые)текстовые поля хрянят данные в области памяти своего процесса. Соответсвенно указатель на TCHAR в WM_GETTEXT должен указывать на память процесса, которому этот едит принадлежит. Хотя вот со всякими кнопками и статиками такой номер проходит (можно в таскбаре поменять в кнопке "statr" надпись на "stop" )
А вот с едитами... что прикольно: есть чужой едит, говорим ему SetWindowText, всё нормально, смотрим в этот едит — там старый текст. Но берём спай, находим окно, и видим там наш новый текст! Причём это не глюк записи в никуда в своей памяти: берём ещё один спай, он тоже покажет новый текст.
С родными едитами — всё ок, они прописывают именно видимый текст.

B>А вообще НЕОБХОДИМО вытащить текст из строки состояния приложения


B>Вот, что я ещё выяснил:

B> Строка состояния класса V8CommandLine

По-моему, с нестандартными классами, получить текст окна — дохлый номер. Но можно погуглить имя класса и посмотреть описание, может и есть способы.
Btw, wm_gettext, у статусбаров свои мессаджи для установки-получения текста. SB_GETTEXTA/SB_SETTEXTA (SB_GETTEXTW/SB_SETTEXTW)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.