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 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! 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
Anzeige
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. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |