Листинг 10.2.
Добавление в дерево информации об окне и поиск дочерних окон
function NewWindow(wnd: HWND; param: LPARAM):BOOL; stdcall;
var
wndNode, parentNode: TTreeNode;
begin
wndNode := AddWindowToTree(wnd); //Добавление информации об
окне в дерево
//Перечисление дочерних окон
parentNode := enInfo.parent;
enInfo.parent := wndNode;
EnumChildWindows(wnd, Addr(NewWindow), param);
enInfo.parent := parentNode;
//Продолжать перечисление (после перечисления
//всех дочерних окон)
NewWindow := True;
end;
Используемая в листинге 10.3 функция AddWindowToTree добавляет элемент, соответствующий найденному окну, в дерево (определяет текст заголовка окна и имя оконного класса):