Rubrik: System/Windows · Sonstiges | VB-Versionen: VB6 | 12.11.02 |
Setup mit opt. Icon in der QuickLaunch-Leiste Die angepasste Setup1.exe erzeugt optional auf Userwunsch ein Icon im QuickLaunch-Bereich der TaskBar. | ||
Autor: Uwe Glaser | Bewertung: | Views: 13.630 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Vor kurzem haben wir Ihnen gezeigt, wie Sie den Code des VB-Setups modifizieren müssen, so dass der Anwender bei der Installation Ihrer Software optional ein Icon auf dem Desktop erstellen lassen kann: Setup mit opt. Erstellen eines Desktop-Icons
Heute erfahren Sie, welche weiteren Änderungen am VB-Setupcode notwendig sind, um zusätzlich noch ein Icon im QuickLaunch-Bereich (Schnellstartleiste) der Taskbar zu erstellen.
Hierzu müssen Sie wie folgt vorgehen:
Im Modul basCommon eine weitere globale Variable für das QuickLaunch Icon anlegen:
Public gintChkQuickStart As Integer
Im Formular frmGroup eine Checkbox (chkQuickStart) anlegen, mit "Icon in der Schnellstartleiste" beschriften und im Ereignis cmdContinue_Click() folgenden Code hinzufügen:
' QuickLaunch Icon anlegen ja/nein gintChkQuickStart = chkQuickStart.Value
Im Form_Load Ereignis wird zusätzlich geprüft, ob diese Funktion überhaupt verfügbar ist:
Private Sub Form_Load() chkQuickStart.Enabled = QuickLaunch_Available() End Sub
Den Code im Formular frmDesktopIcon ergänzen wie folgt:
Private Sub Form_Load() ' Prüfen ob DesktopIcon angelegt werden soll If gintChkDesktopIcon = 1 Then strLinkName = GetSpecialFolder(sfidDESKTOP) & _ "\" & gstrAppName & ".lnk" strLinkExe = gstrDestDir & gstrAppExe ' Desktop-Icon erstellen CreateLink strLinkExe, strLinkName ' Hierdurch wird der Log-Eintrag erzeugt ' und eingetragen, so dass bei einer De-Installtion der ' Anwendung das Desktop Icon auch wieder entfernt wird. NewAction gstrKEY_PRIVATEFILE, gstrQUOTE & _ GetSpecialFolder(sfidDESKTOP) & "\" & _ gstrAppName & ".lnk" & gstrQUOTE CommitAction End If ' Prüfen ob Icon in QuickLaunch soll If gintChkQuickStart = 1 Then strLinkName = GetSpecialFolder(sfidAPPDATA) & _ "Microsoft\Internet Explorer\Quick Launch\" & _ gstrAppName & ".lnk" strLinkExe = gstrDestDir & gstrAppExe ' Desktop-Icon erstellen CreateLink strLinkExe, strLinkName ' Hierdurch wird der Log-Eintrag erzeugt ' und eingetragen, so dass bei einer De-Installtion der ' Anwendung das QuickLaunch Icon auch wieder entfernt wird. NewAction gstrKEY_PRIVATEFILE, gstrQUOTE & _ GetSpecialFolder(sfidDESKTOP) & "\" & _ gstrAppName & ".lnk" & gstrQUOTE CommitAction End If End Sub
Im Modul modShell folgendes hinzufügen:
Option Explicit ' Prüfen, ob Schnellstart-Leiste verfügbar ist Public Function QuickLaunch_Available() As Boolean Dim strFile As String Dim WshShell As Object ' Fehlerbehandlung einschalten On Local Error Resume Next QuickLaunch_Available = True ' WSH-Objekt referenzieren Set WshShell = CreateObject("WScript.Shell") 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 On Local Error Goto 0 End Function
Im Modul basSetup1 bei Sub CreateShellLink am Ende vor Retry: folgendes einfügen:
If gintCheck1 = 1 Or gintChkQuickStart = 1 Then Load frmDesktopIcon DoEvents Unload frmDesktopIcon End If
Das wars auch schon.
Jetzt noch die geänderte Setup1.exe in das PDWizard-Verzeichnis speichern (meist C:\Programme\Microsoft Visual Studio\VB98\Wizards\PDWizard speichern), und beim nächsten Erstellen eines Setup mit dem Microsoft Verpackungs- und Weitergabe-Assistent verfügt Ihr Setup autom. über die Option, ein Desktop-Icon und/oder ein Icon in der Schnellstart-Leiste der Taskbar zu erstellen.