16,722
社区成员




''' <summary>
'''加载收藏夹的每一个子目录. 循环被调用.
''' </summary>
Private Sub LoadFavoritesFromFolder(ByVal dirInfo As System.IO.DirectoryInfo, ByVal currentNode As TreeNode)
Dim objNode As System.Windows.Forms.TreeNode
For Each objDir As System.IO.DirectoryInfo In dirInfo.GetDirectories()
If currentNode Is Nothing Then
objNode = TvFav.Nodes.Add(objDir.Name, objDir.Name, 0, 1)
Else
objNode = currentNode.Nodes.Add(objDir.Name, objDir.Name, 0, 1)
End If
objNode.Tag = objDir.FullName
'Debug.Print(objNode.Tag)
If objDir.GetDirectories().Length = 0 Then
'这个目录没有子目录。
LoadFavoritesFromPath(objDir.FullName, objNode)
Else
'进行循环添加每一个子目录和文件。
LoadFavoritesFromFolder(objDir, objNode)
LoadFavoritesFromPath(objDir.FullName, objNode)
End If
Next
End Sub
''' <summary>
''' 加载特定路径里面的收藏网址.
''' </summary>
Private Sub LoadFavoritesFromPath(ByVal astrPath As String, ByVal currentNode As TreeNode)
Dim name As String
Dim objDir As New System.IO.DirectoryInfo(astrPath)
Dim myStr, myUrl As String
' Process each URL in the path (URL files end with a ".url" extension
For Each objFile As System.IO.FileInfo In objDir.GetFiles("*.url")
myUrl = ""
Using SR As New StreamReader(objFile.FullName, Encoding.Default)
myStr = SR.ReadLine
Do Until myStr Is Nothing
If myStr.ToLower.StartsWith(URLPrefix) Then
myUrl = myStr.Substring(URLPrefix.Length)
Exit Do
End If
myStr = SR.ReadLine
Loop
End Using
name = Path.GetFileNameWithoutExtension(objFile.Name)
If currentNode Is Nothing Then
TvFav.Nodes.Add(name, name, 2, 2).Tag = myUrl
Else
currentNode.Nodes.Add(name, name, 2, 2).Tag = myUrl
End If
Next
End Sub
'加载收藏夹的内容,包括子目录。
LoadFavoritesFromFolder(New System.IO.DirectoryInfo(FavoritesPath()), root)
'加载收藏网址
LoadFavoritesFromPath(FavoritesPath(), root)