vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: System/Windows · Sonstiges   |   VB-Versionen: VB5, VB610.08.01
Programm in der Schnellstart-Leiste

Programmlink der Schnellstart-Leiste (Quick Launch) hinzufügen/entfernen

Autor:   Harry von BorstelBewertung:     [ Jetzt bewerten ]Views:  23.261 
www.blueshell.comSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit Einführung des Internet Explorer 4 hat auf der Taskleiste die sogenannte Schnellstart-Leiste (Quick Launch) Einzug gehalten. Hier können für einige wichtige Programme Links eingerichtet werden. Wer ein nützliches Tool programmiert hat, möchte vielleicht seinen Benutzern einen entsprechenden Link präsentieren. Dies sollte jedoch niemals vollautomatisch per Installations-Programm geschehen, da Microsoft völlig zu Recht davor warnt, diese Leiste durch Überfrachtung zu entwerten. Der Benutzer selber sollte über die Bestückung der Schnellstart-Leiste entscheiden. Eine angemessene Methode ist es z.B. im Ansicht-Menü seiner Anwendung einen Eintrag Quick Launch mit optionalem Häkchen anzubieten.

Der nachfolgende Tipp zeigt, wie ein solcher Menüeintrag implementiert werden kann. Hierzu ist im Projekt zunächst unter "Verweise" das Modul Windows Script Host Object Model (wshom.ocx) aufzunehmen, über welches die Link-Einträge erstellt bzw. entfernt werden können.

Und hier der Code
Zunächst alle Routinen zum Erstellen bzw. Entfernen eines Eintrags in der Schnellstart-Leiste (Quick-Launch):

Den nachfolgenden Code am besten in ein eigenes Modul "packen"

Option Explicit
Dim WshShell As Object
 
' Prüfen, ob Schnellstart-Leiste verfügbar
Public Function QuickLaunch_Available() As Boolean
 
  ' Fehlerbehandlung einschalten
  On Local Error Resume Next
  QuickLaunch_Available = True
 
  Dim strFile As String
 
  ' WSH-Objekt referenzieren
  Set WshShell = New IWshShell_Class
 
  strFile = WshShell.SpecialFolders.Item("AppData") & _
    "\Microsoft\Internet Explorer\Quick Launch\" & _
    "Test.lnk"
 
  If Err Then
    ' WSH or QuickLaunch nicht verfügbar
    QuickLaunch_Available = False
  End If
End Function
 
 
' Prüfen, ob Link in der Schnellstart-Leiste vorhanden
Public Function QuickLaunch_LinkExists(ByVal strLinkFile _
  As String) As Boolean
 
  Dim strFile As String
 
  QuickLaunch_LinkExists = False
  If Not WshShell Is Nothing Then
    strFile = WshShell.SpecialFolders.Item("AppData") & _
      "\Microsoft\Internet Explorer\Quick Launch\" & _
      strLinkFile
 
    If Len(Dir(strFile)) > 0 Then
      ' Link existiert!
      QuickLaunch_LinkExists = True
    End If
  End If
End Function
 
 
' Link in Schnellstart-Leiste erstellen
Public Function QuickLaunch_CreateLink(ByVal strFilename _
  As String, ByVal strLinkFile As String, _
  ByVal strDescription As String) As Boolean
 
  ' Fehlerbehandlung einschalten
  On Local Error Resume Next
  QuickLaunch_CreateLink = False
 
  Dim oShellLink As IWshShortcut_Class
  Dim strFile As String
 
  If Not WshShell Is Nothing Then
    strFile = WshShell.SpecialFolders.Item("AppData") & _
      "\Microsoft\Internet Explorer\Quick Launch\" & _
      strLinkFile
 
    If Err Then
      ' QuickLaunch nicht verfügbar
    Else
      ' Link hinzufügen
      Set oShellLink = WshShell.CreateShortcut(strFile)
      With oShellLink
        .TargetPath = strFilename
        .Description = strDescription
        .Save
      End With
 
      If Err.Number = 0 Then
        QuickLaunch_CreateLink = True
      End If
    End If
  End If
End Function
 
 
' Link in der Schnellstart-Leiste entfernen
Public Function QuickLaunch_RemoveLink(ByVal strLinkFile _
  As String) As Boolean
 
  Dim strFile As String
 
  QuickLaunch_RemoveLink = False
  If Not WshShell Is Nothing THEN
    strFile = WshShell.SpecialFolders.Item("AppData") & _
      "\Microsoft\Internet Explorer\Quick Launch\" & _
      strLinkFile
 
    If Len(Dir(strFile)) > 0 Then
      ' Link existiert - also löschen
      Kill strFile
      QuickLaunch_RemoveLink = True
    End If
  End If
End Function

Wichtig!
Um die Funktionen zum Erstellen/Prüfen und Entfernen von Programm-Links in der Schnellstart-Leiste nutzen zu können, muss zunächst immer die Funktion QuickLaunch_Available aufgerufen werden, da hier das WSH-Objekt für die weitere Verwendung referenziert wird!

Wie bereits weiter oben erwähnt, soll das Erstellen bzw. Entfernen des Link-Eintrags in der Schnellstart-Leiste per Menübefehl erfolgen.

Fügen Sie Ihrer Anwendung einen neuen Menü-Eintrag hinzu, nennen Sie den Eintrag "Quick Launch" und geben für die Name-Eigenschaft "mnuVQuickLaunch" ein.

Beim Laden der Form wird die Routine mnuVQuickLaunchInit aufgerufen, um das Häkchen zu setzen, wenn der Link bereits existiert bzw. den Menüeintrag auszublenden, falls die Schnellstart-Leiste oder WSH nicht verfügbar sind.

Die Betätigung des Menüpunktes löst das Ereignis mnuVQuickLaunch_Click aus, in welchem der Link erstellt bzw. entfernt wird.

Dim mstrLinkFile As String  ' Link-Dateiname
Dim mstrAppFile As String   ' Link-Beschreibungen
Dim mstrLinkDesc As String  ' Programm-Dateiname
 
' Initialisieren
Private Sub Form_Load()
  mnuVQuickLaunchInit
End Sub
 
' Menü-Ereignis
Private Sub mnuVQuickLaunch_Click()
  If mnuVQuickLaunch.Checked Then
    ' Link existiert - also löschen
    QuickLaunch_RemoveLink mstrLinkFile
  Else
    ' Link existiert nicht nicht - Erstellen!
    QuickLaunch_CreateLink mstrAppFile, _
      mstrLinkFile, mstrLinkDesc
  End If
End Sub
 
' Link initialisieren
Private Sub mnuVQuickLaunchInit()
  mstrLinkFile = App.EXEName & ".lnk"
  mstrAppFile = App.Path & "\" & App.EXEName & ".exe"
  mstrLinkDesc = App.Description
 
  If Not QuickLaunch_Available() Then
    ' WSH oder Schnellstart-Leiste nicht verfügbar
    mnuVQuickLaunch.Visible = False
  Else
    mnuVQuickLaunch.Checked = _
      QuickLaunch_LinkExists(mstrLinkFile)
  End If
End Sub

Dieser Tipp wurde bereits 23.261 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel