![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Не могу найти дочерние окна
вообщем например у Калькулятора мне надо найти дочерние окна (а не кнопки и.т.п) Для примера вызвал доч. окно у Калькулятора: Справка -> О програме ищу след. образом Код:
function EnumChildProc(Wd: HWND; lParam: LongInt): boolean; stdcall; var Nm: Array [0 .. 255] of Char; // буфер для имени begin GetWindowText(Wd, Nm, 255); // считываем текст заголовка окна if (String(Nm) <> '') then begin sN := String(Nm); Form1.ListBox1.Items.Add(sN); end; EnumChildProc := TRUE; // продолжать искать окна… end; procedure TForm1.Button1Click(Sender: TObject); var h: HWND; begin h := FindWindow(nil, PChAR('Калькулятор')); // извлекает имя окна которого соответствуют заданным строкам if h > 0 then EnumChildWindows(h, @EnumChildProc, 0); end; p.s sN - глобальная переменная Находит кнопки и.т.п, а доч. окна не видит, подскажите где я не прав Заранее огромное спасибо |