Как в TreeView построить дерево открытых окон
Как в TreeView построить дерево открытых окон
Как в TreeView построить дерево открытых окон Мне стало интересно построить дерево окон и вот что у меня получилось: unit unit1; interface uses windows, messages, sysutils, classes, graphics, controls, forms, dialogs, histedit, buttons, stdctrls, coloredgrid, tlhelp32, comctrls; type tform1 = class(tform) list : ttreeview; procedure formcreate(sender : tobject); private { private declarations } procedure listlevel(n : ttreenode; h : hwnd); public { public declarations } end; var form1 : tform1; implementation {$r *.dfm} procedure tform1.listlevel; var b : array[0..128] of char; s : string; t : ttreenode; c, w : hwnd; begin w := h; while w <> 0 do begin getclassname (w, @b, 128); s := strpas(b); getwindowtext(w, @b, 128); s := s + '(' + strpas(b) + ')'; t := list.items.addchild(n, s); c := getwindow(w, gw_child); listlevel(t, c); w := getnextwindow(w, gw_hwndnext); end; end; procedure tform1.formcreate(sender : tobject); var h : hwnd; begin h := getdesktopwindow; listlevel(nil, h); end; end.