Ein häufiges Problem für viele Programmierer ist das Erstellen von Dateiverknüpfungen - sei es auf dem Desktop, im Startmenü unter Programme oder in einem x-beliebigen Ordner auf der Festplatte. Bei dieser Art von Verknüpfung handelt es sich um sogenannte Link-Dateien (*.lnk), über welche man per Doppelklick eine bestimmte Anwendung aktivieren kann. Nun, so schwer ist das ganze eigentlich nicht. Denn Microsoft hat u.a. auf der VB-Installations CD eine undokumentierte TLB-Datei bereitgestellt, mit der sich solche Verknüpfungen relativ leicht erstellen lassen. Hierbei handelt es sich um die SHELLLNK.TLB. Sollten Sie diese nicht finden, so können Sie sich die Datei auch hier bei uns downloaden: SHELLLNK.TLB (6 KB) Und so funktioniert's: ' Verknüpfung erstellen Public 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 = "" Optional ByVal IconPath As String = "", _ Optional ByVal IconNumber As Long = 0) 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 ' Icon definieren If IconPath <> "" And IconNumber > 0 Then _ .SetIconLocation IconPath, IconNumber End With ' Verknüpfung erstellen cPersistFile.Save StrConv(LinkName, _ vbUnicode), 0 Set cPersistFile = Nothing Set cShellLink = Nothing End Sub Parameterbeschreibung:
Beispiel: ' Verknüpfung zum Windows-Editor im ' Root-Verzeichnis von C: mit dem Namen test.lnk CreateLink "c:\winnt\notepad.exe", "c:\test.lnk" Erweiterung des Tipps Wie man den genauen Pfad der System-Ordner ermittelt, haben wir Ihnen ja bereits in einem früheren Tipp gezeigt. Deshalb hier nur der Verweis auf den Tipp: Standard System-Ordner ermitteln So lässt sich z.B. eine Verknüpfung auf dem Desktop folgendermassen erstellen: CreateLink "c:\winnt\notepad.exe", _ GetSpecialFolder(sfidDESKTOP) & "\MeinNotepad.lnk" Und hier der Aufruf, bei dem für die Verknüpfung das 22. Bildsymbol der Datei Moricons.dll verwendet werden soll: CreateLink "c:\winnt\notepad.exe", "c:\Test.lnk", _ , , , "C:\WINNT\system32\moricons.dll", 22 Ab sofort sollte das Erstellen von Dateiverknüpfungen also keine Probleme mehr bereiten Dieser Tipp wurde bereits 86.268 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. |
Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats September 2024 Dieter Otter Übergabeparameter: String oder Array? Mit der IsArray-Funktion lässt sich prüfen, ob es sich bei einem Übergabeparameter an eine Prozedur um ein Array oder einer "einfachen" Variable handelt. 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. |