Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно определить содержимое ListBox чужого процесса


Пашка ©   (2006-07-08 16:48:00) 

Мастера, пожалуйста подскажите, как можно получить содержимое ListBox чужого процесса.


Leonid Troyanovsky   (2006-07-10 19:34:00) [1]


> Пашка   (10.07.06 08:11) [4]

> А какой тип у ListBox ????


LISTBOX?
хотя,конечно, оно может быть и другим классом.
See also: GetClassName or WS32.exe.

--
Regards, LVT.


Сергей М.   (2006-07-10 11:48:00) [2]


> Где то здесь ошибка


И не только здесь.

Ошибки начинаются здесь : for j:= 1to ldo begin


Пашка   (2006-07-10 08:11:00) [3]

А какой тип у ListBox ????

lh:=FindWindowEX(h,0,nil,nil);

h := FindWindow(nil,'TestList');
lh:=FindWindowEX(h,0,nil,nil);
l:=SendMessage(lh,LB_GETCOUNT,0,0);
for j:=1 to l do begin
k:=SendMessage(lh,LB_GETTEXTLEN,0,0);
st:=string(SendMessage(lh,LB_GETTEXT,0,0)); // Где то здесь ошибка
ListBox1.Items.Add(st);

Хотя у меня ListBox находит (так как на нем заканчивается поиск) все равно не работает.
Что значит "выделять необходимую память" ???


begin...end   (2006-07-08 17:22:00) [4]

> Пашка   (08.07.06 17:16) [2]

Нет, непосредственно с помощью API -- не так. Вначале нужно узнать количество элементов в ListBox'е, послав ему сообщение LB_GETCOUNT, а затем в цикле определять длину текста очередного элемента (LB_GETTEXTLEN), выделять необходимую память и получать сам текст (LB_GETTEXT). Способ этот работает как для своего ListBox'а, так и для чужого.


Пашка   (2006-07-08 17:16:00) [5]

своего так:
for i:=0 to 10 do
d[i]:=ListBox1.items[i];
а чужого ???


begin...end   (2006-07-08 17:13:00) [6]

Так же, как и содержимое ListBox своего процесса.


Наверх

Титульная страница Поиск, карта сайта Написать письмо