Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как получить содержимое поля Edit чужого окна???

24K
13 апреля 2007 года
techner
5 / / 10.02.2007
Не могу достать текст из поля Edit чужого окна, GetWindowText не дает результатов (да по-моему и не должна), каким макаром вообще это можно сделать?
257
13 апреля 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=techner]Не могу достать текст из поля Edit чужого окна, GetWindowText не дает результатов (да по-моему и не должна), каким макаром вообще это можно сделать?[/quote]
получаешь хендл эдита и GetWindowText - работать должна. опиши то, как ты пытаешься получить текст.
24K
14 апреля 2007 года
techner
5 / / 10.02.2007
знаю хендл окна, знаю хендл эдита на этом окне, GetWindowText возвращает пустую строку!

GetWindowText(h, c, 255);
s:=c;

и в s пусто.
257
14 апреля 2007 года
kosfiz
1.6K / / 18.09.2005
ну смотри я делаю обычно так:
 
Код:
var p:PChar; s:string;
..............................
p:=StrAlloc(255);
GetWindowText(h,p,255);
s:=p;

и все нормально. из эдита какого приложения хочешь прочитать?
24K
14 апреля 2007 года
techner
5 / / 10.02.2007
нет, с помощью GetWindowText нельзя, узнал что можно как то через SendMessage() но путаница с последними двумя параметрами. Первый хендл, второй тип сообщения (WM_GETTEXT), а вот дальше... вопрос!
347
14 апреля 2007 года
Maniak
319 / / 05.11.2005
 
Код:
SendMessage(handle,WM_SETTEXT,0, LParam(PCHAR('text')));
24K
14 апреля 2007 года
techner
5 / / 10.02.2007
Цитата:
SendMessage(handle,WM_SETTEXT,0, LParam(PCHAR('text')));


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

261
15 апреля 2007 года
ahilles
1.5K / / 03.11.2005
Цитата: techner
нет, с помощью GetWindowText нельзя


почему нельзя??????
kosfiz написал, всё должно работать, может ты хендл не тот находишь

257
18 апреля 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=techner]нет, с помощью GetWindowText нельзя[/quote]
хе-хе: без комментариев:).
[quote=techner]узнал что можно как то через SendMessage() [/quote]
ну, если хочешь с помощью SendMessage, то вот тебе пример:
 
Код:
var p:PChar; s:string;
............................
p:=StrAlloc(20);
SendMessage(h,WM_GETTEXT,WParam(20),LParam(p));
s:=p;
59K
16 марта 2010 года
Neifmetus
1 / / 16.03.2010
В чужом окне поле edit создается с содержимым "Текстовое поле". Если искать это содержимое, все прекрасно работает, если написать там что-то другое и искать уже по новому содержимому, то нифига. Как можно это решить?
6
16 марта 2010 года
George
4.1K / / 05.01.2007
как это Вы там по содержимому что-то ищете? и почему не считаете нужным показать код, мы ж не телепаты, ей-Богу.
253
16 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: George
как это Вы там по содержимому что-то ищете? и почему не считаете нужным показать код, мы ж не телепаты, ей-Богу.


Меня тоже смутило, как тут что-то обсуждают без кода...

Цитата:
В чужом окне поле edit создается с содержимым "Текстовое поле". Если искать это содержимое, все прекрасно работает, если написать там что-то другое и искать уже по новому содержимому, то нифига. Как можно это решить?


А что мешает запомнить HWND этого TEdit в первый раз, а потом его же и использовать? Или он (TEdit) пересоздаётся постоянно?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог