Sub scan(a As String)
Dim filename As String
Dim nd As Integer
Dim fold() As String
Dim n As Integerfilename = Dir(a, vbDirectory)
Do While filename <> ""
    If filename <> "." And filename <> ".." Then
        If GetAttr(a & filename) = vbDirectory Then
            nd = nd + 1
            ReDim Preserve fold(nd)
            fold(nd) = a & filename
           ' List2.AddItem (a & filename)
            TreeView1.Nodes.Add a, tvwChild, a & filename & "\", filename, 1, 2
        End If
    End If
    filename = Dir
    DoEvents
Loopfilename = Dir(a)
Do While filename <> ""
   ' List1.AddItem (a & filename)
    TreeView1.Nodes.Add a, tvwChild, a & filename, filename, 3, 4
    filename = Dir
LoopFor n = 1 To nd
   Call scan(fold(n) & "\")
Next    
End SubPrivate Sub Command1_Click()
TreeView1.ImageList = ImageList1
Dim vcmpath As String
'vcmpath = App.Path & "vvv\"
vcmpath = "c:\windows\"
TreeView1.Nodes.Add , , vcmpath, "VCM", 1, 2
Call scan(vcmpath)
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Text1.Text = Node.Key
End Sub