VB.Net Tutorial/Windows/IE — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:56, 26 мая 2010
Get Favorites bookmark
<source lang="vbnet">"Visual Basic 2005 Cookbook Solutions for VB 2005 Programmers "by Tim Patrick (Author), John Craig (Author) "# Publisher: O"Reilly Media, Inc. (September 21, 2006) "# Language: English "# ISBN-10: 0596101775 "# ISBN-13: 978-0596101770
Imports MVB = Microsoft.VisualBasic Imports System.Windows.Forms public class BuildYourOwnMenu
public Shared Sub Main Application.Run(New Form1) End Sub
End class
Public Class Form1
Private Declare Auto Function GetPrivateProfileString Lib "kernel32" _ (ByVal AppName As String, _ ByVal KeyName As String, _ ByVal DefaultValue As String, _ ByVal ReturnedString As System.Text.StringBuilder, _ ByVal BufferSize As Integer, _ ByVal FileName As String) As Integer Private Sub MenuExitProgram_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuExitProgram.Click Me.Close() End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim favoritesPath As String favoritesPath = Environment.GetFolderPath(Environment.SpecialFolder.Favorites) If (favoritesPath = "") Then Return If (My.ruputer.FileSystem.DirectoryExists(favoritesPath) = False) Then Return BuildFavorites(MenuFavorites, favoritesPath) If (MenuFavorites.DropDownItems.Count > 1) Then _ MenuNoFavorites.Visible = False End Sub Private Sub BuildFavorites(ByVal whichMenu As ToolStripMenuItem, ByVal fromPath As String) Dim oneEntry As String Dim menuEntry As ToolStripMenuItem Dim linkPath As String Dim displayName As String For Each oneEntry In My.ruputer.FileSystem.GetDirectories(fromPath) menuEntry = New ToolStripMenuItem( _ My.ruputer.FileSystem.GetName(oneEntry)) BuildFavorites(menuEntry, oneEntry) If (menuEntry.DropDownItems.Count > 0) Then _ whichMenu.DropDownItems.Add(menuEntry) Next oneEntry For Each oneEntry In My.ruputer.FileSystem.GetFiles(fromPath, _ FileIO.SearchOption.SearchTopLevelOnly, "*.url") linkPath = GetINIEntry("InternetShortcut", "URL", oneEntry) If (linkPath <> "") Then displayName = My.ruputer.FileSystem.GetName(oneEntry) displayName = MVB.Left(displayName, displayName.Length - 4) menuEntry = New ToolStripMenuItem(displayName) menuEntry.Tag = linkPath whichMenu.DropDownItems.Add(menuEntry) AddHandler menuEntry.Click, AddressOf RunFavoritesLink End If Next oneEntry End Sub Private Sub RunFavoritesLink(ByVal sender As System.Object, ByVal e As System.EventArgs) " ----- Run the link. Dim whichMenu As ToolStripMenuItem whichMenu = CType(sender, ToolStripMenuItem) Console.WriteLine(whichMenu.Tag) "Process.Start(whichMenu.Tag) End Sub Private Function GetINIEntry(ByVal sectionName As String, _ ByVal keyName As String, ByVal whichFile As String) As String " ----- Extract a value from an INI-style file. Dim resultLength As Integer Dim targetBuffer As New System.Text.StringBuilder(500) resultLength = GetPrivateProfileString(sectionName, keyName, "", _ targetBuffer, targetBuffer.Capacity, whichFile) Return targetBuffer.ToString() End Function
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.MainMenu = New System.Windows.Forms.MenuStrip Me.MenuFile = New System.Windows.Forms.ToolStripMenuItem Me.MenuExitProgram = New System.Windows.Forms.ToolStripMenuItem Me.MenuFavorites = New System.Windows.Forms.ToolStripMenuItem Me.MenuNoFavorites = New System.Windows.Forms.ToolStripMenuItem Me.MainMenu.SuspendLayout() Me.SuspendLayout() " "MainMenu " Me.MainMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MenuFile, Me.MenuFavorites}) Me.MainMenu.Location = New System.Drawing.Point(0, 0) Me.MainMenu.Name = "MainMenu" Me.MainMenu.Size = New System.Drawing.Size(292, 24) Me.MainMenu.TabIndex = 0 Me.MainMenu.Text = "MenuStrip1" " "MenuFile " Me.MenuFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MenuExitProgram}) Me.MenuFile.Name = "MenuFile" Me.MenuFile.Size = New System.Drawing.Size(35, 20) Me.MenuFile.Text = "&File" " "MenuExitProgram " Me.MenuExitProgram.Name = "MenuExitProgram" Me.MenuExitProgram.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys) Me.MenuExitProgram.Size = New System.Drawing.Size(132, 22) Me.MenuExitProgram.Text = "E&xit" " "MenuFavorites " Me.MenuFavorites.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MenuNoFavorites}) Me.MenuFavorites.Name = "MenuFavorites" Me.MenuFavorites.Size = New System.Drawing.Size(64, 20) Me.MenuFavorites.Text = "Fa&vorites" " "MenuNoFavorites " Me.MenuNoFavorites.Enabled = False Me.MenuNoFavorites.Name = "MenuNoFavorites" Me.MenuNoFavorites.Size = New System.Drawing.Size(112, 22) Me.MenuNoFavorites.Text = "(empty)" " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(292, 121) Me.Controls.Add(Me.MainMenu) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me.MainMenuStrip = Me.MainMenu Me.MaximizeBox = False Me.Name = "Form1" Me.Text = "Runtime Menus" Me.MainMenu.ResumeLayout(False) Me.MainMenu.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents MainMenu As System.Windows.Forms.MenuStrip Friend WithEvents MenuFile As System.Windows.Forms.ToolStripMenuItem Friend WithEvents MenuExitProgram As System.Windows.Forms.ToolStripMenuItem Friend WithEvents MenuFavorites As System.Windows.Forms.ToolStripMenuItem Friend WithEvents MenuNoFavorites As System.Windows.Forms.ToolStripMenuItem
End Class</source>