...

Листинг 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 добавляет элемент, соответствующий найденному окну, в дерево (определяет текст заголовка окна и имя оконного класса):

Загрузка...