ShowWindowsInTreeView – Display a windows hierarchy in a treeview control

Private Declare Function GetDesktopWindow Lib "user32" () As Long' Display all the child window of a given window in a TreeView control' omit 2nd and 3rd argument to display the entire Windows hierarchy, as in'    ShowWindowsInTreeView TreeView1'' NOTES: requires the ChildWindows and WindowDescription routines.Sub ShowWindowsInTrewView(tvw As TreeView, Optional ByVal hWnd As Long, _    Optional ParentNode As MSComctlLib.Node)    Dim winHandles() As Long    Dim i As Long    Dim Node As MSComctlLib.Node        If ParentNode Is Nothing Then        ' If no Parent node, this is the desktop window        hWnd = GetDesktopWindow()        ' add the root node and expand it        Set Node = tvw.Nodes.Add(, , , WindowDescription(hWnd))        Node.Expanded = True    Else        ' add a child node        Set Node = tvw.Nodes.Add(ParentNode.Index, tvwChild, , _            WindowDescription(hWnd))    End If        ' get the child windows of this window    winHandles() = ChildWindows(hWnd)        For i = 1 To UBound(winHandles)        ' Recursively call this routine to show this window's children.        ShowWindowsInTrewView tvw, winHandles(i), Node    Next    End Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: