Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2013, 11:20   #1
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию считать Edit, защищенный от GetWindowText

Всем привет. Задача следующая - имеется некая программулина, из которой нужно считывать данные из Edit.

Есть как минимум 2 способа мне известных, которым это можно сделать.

1) GetWindowtext...
2) SendMessage...WM_GETTEXT...

и ни один из них не работает по причине защиты этих самых контролов от таких умников (даже статейка попадалась как именно защитить).

Используя Winspy++ без проблем добираюсь до контрола и читаю его значение (значит все-таки можно), однако при нажатии "Flash", т.е. (мигает прямоугольник вокруг контрола) он вместо привычного серо-черно-белого цвета мигает красным именно на этом поле.


Если берем Anvir Task Manager (тоже умеет бродить по окнам), то тот считать значения не может и говорит что Edit пустой. т.е. проблема имеет место быть.


Предчуствуя вопросы:
1) Я умею пользоваться FindWindow и FindWindowEx
2) Нашел хэндл правильно

Можно конечно покопаться в исходниках спая, но есть надежда что местные гуру ответят быстрее.

P.S. SetWindowText туда тоже не работает.
Всем спасибо.
fbus вне форума Ответить с цитированием
Старый 15.07.2013, 12:28   #2
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

Проблема решена. Немножко нестандартно...
Код:
var ach: array [0..255] of char;
begin
Sendmessage(wnd,WM_GETTEXT,20,Integer(@ach));
edit1.Text:=ach;
end;

Варианты с buff и SizeOf почему-то не проканали.
Всем спасибо
fbus вне форума Ответить с цитированием
Старый 15.07.2013, 14:52   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
However, GetWindowText cannot retrieve the text of a control in another application.
вот как то так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как посимвольно считать из поля edit ULR Общие вопросы Delphi 2 06.11.2012 22:23
Как правильно считать сторку из поля edit? reynevan Win Api 7 16.07.2010 02:21
Edit считать символоми лелик Помощь студентам 5 06.06.2010 02:51
Как считать данные из Edit? Svop Компоненты Delphi 11 20.11.2006 16:45
GetWindowText, помогите разобраться VDLab Win Api 4 04.11.2006 08:39