Display All your favorites
Imports System Imports System.Drawing Imports System.Data Imports System.IO Imports System.Collections Imports System.Windows.Forms Imports System.Drawing.Printing Public Class MainClass Shared Sub Main() Dim Favorites As Favorites = New Favorites() Favorites.ScanFavorites() Dim f As WebFavorite For Each f in Favorites.Favorites Console.WriteLine(f.Name) Next End Sub End Class Public Class Favorites Public Favorites As WebFavoriteCollection Public ReadOnly Property FavoritesFolder() As String Get Return _ Environment.GetFolderPath(Environment.SpecialFolder.Favorites) End Get End Property Public Sub ScanFavorites() ScanFavorites(FavoritesFolder) End Sub Public Sub ScanFavorites(ByVal folderName As String) If Favorites Is Nothing Then Favorites = New _ WebFavoriteCollection() Dim scanFolder As New DirectoryInfo(folderName) Dim favoriteFile As FileInfo For Each favoriteFile In scanFolder.GetFiles If String.Compare(favoriteFile.Extension, ".url", True) = 0 Then Dim favorite As New WebFavorite() favorite.Load(favoriteFile) Favorites.Add(favorite) End If Next End Sub End Class Public Class WebFavoriteCollection Inherits CollectionBase Public Sub Add(ByVal favorite As WebFavorite) List.Add(favorite) End Sub Public Sub Remove(ByVal index As Integer) If index >= 0 And index < Count Then List.Remove(index) End If End Sub Public ReadOnly Property Item(ByVal index As Integer) _ As WebFavorite Get Return CType(List.Item(index), WebFavorite) End Get End Property End Class Public Class WebFavorite Public Name As String Public Url As String Public Sub Open() System.Diagnostics.Process.Start(Url) End Sub Public Sub Load(ByVal fileInfo As FileInfo) Name = fileInfo.Name.Substring(0, _ fileInfo.Name.Length - fileInfo.Extension.Length) Dim stream As New FileStream(fileInfo.FullName, FileMode.Open) Dim reader As New StreamReader(stream) Do While True Dim buf As String = reader.ReadLine If buf Is Nothing Then Exit Do If buf.StartsWith("URL=") Then Url = buf.Substring(4) Exit Do End If Loop reader.Close() stream.Close() End Sub End Class
1. | Get Web Favorite Folder | ||
2. | Display Your Web Favorite Collection | ||
3. | Use Process to access favorite path |