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.875 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 Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access |
||||||||||||||||
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. |