Private Sub Form_Load()
AddNodes "HKCU\AppEvents\Schemes"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default\Close\.Current"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default\AppGPFault\.Current"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default\.Default\.Current"
End Sub
Private Sub AddNodes(ByVal sData As String)
Dim cColl As Collection
Set cColl = SplitItems(sData)
Insert cColl, Nothing
End Sub
Private Function Insert(ByVal cItems As Collection, ByVal objParent As Node)
Dim objNode As Node
If Not cItems.Count = 0 Then
If objParent Is Nothing Then
For Each objNode In TreeView1.Nodes
If objNode.Text = cItems.Item(1) Then
Set objParent = objNode
cItems.Remove 1
Insert cItems, objParent
Exit Function
End If
Next
Set objParent = TreeView1.Nodes.Add(Text:=cItems.Item(1))
cItems.Remove 1
Insert cItems, objParent
Else
For Each objNode In TreeView1.Nodes
If objNode.Text = cItems.Item(1) Then
If objNode.Parent = objParent Then
Set objParent = objNode
cItems.Remove 1
Insert cItems, objParent
Exit Function
End If
End If
Next
Set objParent = TreeView1.Nodes.Add(objParent, tvwChild, Text:=cItems.Item(1))
cItems.Remove 1
Insert cItems, objParent
End If
End If
End Function
Private Function SplitItems(sData As String) As Collection
Dim svItems() As String
Dim i As Long
Set SplitItems = New Collection
svItems = Split(sData, "\")
For i = 0 To UBound(svItems)
SplitItems.Add svItems(i)
Next
End Function