Wen stört es nicht, das man von Microsoft zwar ein Tool zum Erstellen eines Setup bereitgestellt bekommt, aber mit dem sich nicht autom. oder auf Userwunsch zusätzlich auch ein Desktop-Icon erzeugen lässt. Den eigentlichen Code zum Erzeugen eines Desktop Icons kennen Sie sicherlich bereits: Die Frage ist nur: Wo und wie einbinden? Hierzu müssen Sie wie folgt vorgehen: Im Modul basCommon eine globale Variable anlegen: Public gintCheck1 As Integer Im Formular frmGroup eine Checkbox (Check1) anlegen, mit Desktop-Icon erstrellen beschriften und im Ereignis cmdContinue_Click() folgenden Code hinzufügen: ' Desktop Icon anlegen ja/nein gintCheck1 = Check1.Value Ein neues Formular hinzufügen (frmDesktopIcon) und folgenden Code einfügen: Option Explicit ' benötogte API-Deklarationen Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" ( _ ByVal hwndOwner As Long, _ ByVal nFolder As Long, _ pidl As ITEMIDLIST) As Long Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" ( _ ByVal pidl As Long, _ ByVal pszPath As String) As Long Private Type SHITEMID cb As Long abID As Byte End Type Private Type ITEMIDLIST mkid As SHITEMID End Type ' Verknüpfung erstellen Private Sub CreateLink(ByVal Datei As String, _ ByVal LinkName As String, _ Optional ByVal Parameter As String = "", _ Optional ByVal Comment As String = "", _ Optional ByVal WorkingDir As String = "") Dim cShellLink As ShellLinkA Dim cPersistFile As IPersistFile Set cShellLink = New ShellLinkA Set cPersistFile = cShellLink With cShellLink ' Pfad+Dateiname der Anwendung .SetPath Datei ' Parameter If Parameter <> "" Then _ .SetArguments Parameter ' Kommentar If Comment <> "" Then _ .SetDescription Comment ' Arbeitsverzeichnis (Ausführen in) If WorkingDir <> "" Then _ .SetWorkingDirectory WorkingDir End With ' Verknüpfung erstellen cPersistFile.Save StrConv(LinkName, _ vbUnicode), 0 Set cPersistFile = Nothing Set cShellLink = Nothing End Sub ' Standard Systemordner ermitteln Private Function GetSpecialFolder(CSIDL As _ SpecialFolderIDs) As String Dim lResult As Long Dim IDL As ITEMIDLIST Dim sPath As String lResult = SHGetSpecialFolderLocation(100, CSIDL, IDL) If lResult = 0 Then sPath = Space$(512) lResult = SHGetPathFromIDList(ByVal IDL.mkid.cb, _ ByVal sPath) GetSpecialFolder = Left$(sPath, InStr(sPath, _ Chr$(0)) - 1) End If End Function Private Sub Form_Load() 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 Sub Im Modul basSetup1 bei Sub CreateShellLink am Ende vor Retry: folgendes einfügen: If gintCheck1 = 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 zu erstellen. Dieser Tipp wurde bereits 20.876 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 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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||||||
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. |