Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

Проблема с хэндлом ListBox a чужого окна   Найти похожие ветки 

 
MARcoDEN   (2002-06-13 21:15) [0]

Использую ф-цию вытаскивания текста из ListBox"a чужого окна:

procedure Tzzz.get(Sender: TObject);
var
hw, ch ,count, i : integer;
buf : array [1..10] of char;
begin
hw:=FindWindow(nil,"Поиск по категориям"); //ищем окно
if hw<>0 then
begin
ch:=FindWindowEx(hw,0,"TListBox",nil);//ищел там листбокс
if ch<>0 then
begin
count:= sendmessage(ch,LB_GETCOUNT,0,0);//сколько же там строк?
if count<>0 then
begin
for i:=0 to count-1 do
begin
sendmessage(ch,LB_GETTEXT,i,integer(@buf));
listbox2.Items.Add(buf);
end;
end else showmessage("Записи отсутствуют.");
end
else showmessage("listbox не найден.");
end
else showmessage("Окно - Поиск по категориям - не найдено.");
end;


Но почему-то в упор хэндл ListBox"a не находит. Выдается сообщение "listbox не найден". В чем дело? Подскажите, пожалуйста!


 
MARcoDEN   (2002-06-13 21:16) [1]

Нет, код немного другой:

procedure Tzzz.get(Sender: TObject);
var
hw, ch ,count, i : integer;
buf : array [1..10] of char;
begin
hw:=FindWindow(nil,"Mail_test"); //ищем окно
if hw<>0 then
begin
ch:=FindWindowEx(hw,0,"TListBox","Mail_test");//ищел там листбокс
if ch<>0 then
begin
count:= sendmessage(ch,LB_GETCOUNT,0,0);//сколько же там строк?
if count<>0 then
begin
for i:=0 to count-1 do
begin
sendmessage(ch,LB_GETTEXT,i,integer(@buf));
listbox2.Items.Add(buf);
end;
end else showmessage("Записи отсутствуют.");
end
else showmessage("listbox не найден.");
end
else showmessage("Окно - Поиск по категориям - не найдено.");
end;


 
Song   (2002-06-13 21:24) [2]

Не правильно указаны параметры FindWindowEx() она должна возвращать не 0.


 
MJH   (2002-06-14 00:58) [3]

2МаКАРоН: ты надоел меня смешить уже :)
дело в том что Tlistbox - это класс объекта делфи, а не оконный класс. оконный класс листбокса называется LISTBOX, следовательно пишем FindWindow("LISTBOX",nil)


 
MARcoDEN   (2002-06-14 09:23) [4]

2MJH: смеется тот, кто смеется последним! А обзываться - вообще, мягко говоря, неприлично! Так что уважительнее относись ко всем, кому ты отвечаешь! Либо не отвечай вообще! Думаю, я ясно выразился?!


 
Игорь Шевченко   (2002-06-14 09:43) [5]

MJH © (14.06.02 00:58)

> дело в том что Tlistbox - это класс объекта делфи, а не
> оконный класс. оконный класс листбокса называется LISTBOX


Вы в этом абсолютно уверены ?
Если приложение написано на Delphi, то имя оконного класса будет TListBox



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
6-60784
ATLANTIDO
2002-05-19 13:35
2002.08.19
Сетевые папки


14-60809
NailMan
2002-07-23 02:14
2002.08.19
Пароли к интернету


6-60778
Max2000
2002-06-06 14:57
2002.08.19
Мастера подскажите плиз!!!!!!


14-60860
Стас
2002-07-22 10:44
2002.08.19
Delphi Update Pack 2


1-60557
HitMan
2002-08-07 15:03
2002.08.19
ANSI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский