![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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 - глобальная переменная Находит кнопки и.т.п, а доч. окна не видит, подскажите где я не прав Заранее огромное спасибо |