Главная страница
    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.007 c
6-60790
SerVS
2002-06-08 14:55
2002.08.19
UDP client-ы


3-60528
Megi
2002-07-30 12:12
2002.08.19
*.LCK файлы и борьба с ними, поделитесь опытом


7-60885
Miron12
2002-06-04 18:08
2002.08.19
подключение клавиатуры


1-60691
Vovaka
2002-08-06 13:31
2002.08.19
Поддержка дополнительного языка


3-60487
Корсар2
2002-07-29 09:48
2002.08.19
Св-ва TIBbTrasaction





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский