vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: COM/OLE/Registry/DLL · Verknüpfungen   |   VB-Versionen: VB5, VB604.11.02
Verknüpfung erstellen II

Erstellt eine Verknüpfung auf dem Desktop, Startmenü, Programme oder im Autostartordner.

Autor:   Jens MalchowBewertung:  Views:  35.980 
www.malchowgmbh.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Unter Verwendung des "Windows Scripting Host" lassen sich schnell und einfach Dateiverknüpfungen erstellen - 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.

Das WSH-Objekt stellt u.a. auch eine Methode SpecialFolder zur Verfügung, über die man bestimmte Systemordner ermitteln kann:

SpecialFolders("AllUsersDesktop")
SpecialFolders("AllUsersStartMenu")
SpecialFolders("AllUsersPrograms")
SpecialFolders("AllUsersStartUp")
SpecialFolders("Desktop")
SpecialFolders("StartMenu")
SpecialFolders("Programs")
SpecialFolders("StartUp")

Hinweis: Unter Win9x liefern die AllUsers-Schlüsselwörter einen Leerstring zurück!

Nun aber zur eigentlichen Funktion - dem Erstellen einer Verknüpfung:

' Verknüpfung erstellen
Public Function CreateLink(ByVal sFile As String, _
  ByVal sLinkName As String, _
  Optional ByVal sParameter As String = "", _
  Optional ByVal sComment As String = "", _
  Optional ByVal sWorkingDir As String = "", _
  Optional ByVal sHotKey As String) As Boolean
 
  ' Fehlerbehandlung, falls WSH-Objekt nicht
  ' verfügbar
  On Error GoTo ErrHandler
  Dim WshShell As Object
  Dim WshLink As Object
 
  ' Verweis auf den Windows Scripting Host erstellen
  Set WshShell = CreateObject("WScript.Shell")
 
  ' Neuen Link Erstellen
  Set WshLink = WshShell.CreateShortcut(sLinkName)
 
  With WshLink
    ' Ziel der Verknüpfung
    .TargetPath = sFile
 
    ' Weitere Eigenschaften...
    .WorkingDirectory = sWorkingDir
    .Arguments = sParameter
    .Description = sComment
    .HotKey = sHotKey
 
    ' Verknüpfung speichern
    .Save
  End With
 
  ' Objekte zerstören
  Set WshLink = Nothing
  Set WshShell = Nothing
 
  CreateLink = True
  On Error GoTo 0
  Exit Function
 
ErrHandler:
  CreateLink = False
End Function

Die Funktion CreateLink erwartet folgende Parameter:

sFilePfad+Dateiname der Anwendung, welche über die Verknüpfung ausgeführt werden soll
sLinkNameName und Ort der Verknüpfungsdatei (.lnk)
sParameterOptional. Parameter für den Aufruf der Anwendung
sCommentOptional. Kommentar (wird im Eigenschaften-Dialog der Verknüpfung angezeigt)
sWorkingDir   Optional. Pfad, in welchem die Anwendung ausgeführt werden soll (Arbeitsverzeichnis)
sHotKey   Optional. HotKey für das Ausführen der Verknüpfung (z.B. Alt+Ctrl+H)

Beispiel:
Um nun eine Verknüpfung zu erstellen, rufen Sie die Prozedur folgendermassen auf:

' Verknüpfung zum Windows-Editor im 
' Root-Verzeichnis von C: mit dem Namen test.lnk
CreateLink "c:\winnt\notepad.exe", "c:\test.lnk"

Weiteres Beispiel:
Erstellen einer Verknüpfung der eigenen Anwendung auf dem Desktop:

' Pfad zum Desktop-Ordner
Dim WshShell As Object
Dim sPath As String
 
Set WshShell = CreateObject("WScript.Shell")
sPath = WShShell.SpecialFolders("Desktop")
If Right$(sPath, 1) <> "\" Then sPath = sPath & "\"
Set WshShell = Nothing
 
' Pfad+Dateiname der eigenen Anwendung
Dim sFile As String
sFile = App.Path & "\" & App.EXEName & ".exe"
 
' Name der Verknüpfung
Dim sLinkName As String
sLinkName = App.ProductName & ".lnk"
 
' Arbeitsverzeichnis (Ausführen in...)
Dim sWorkingDir As String
sWorkingDir = App.Path
 
' Kommentar (Beschreibung)
Dim sComment As String
sComment = App.Description
 
' HotKey
Dim sHotKey As String
sHotKey = "Alt+Ctrl+W"
 
' Verknüpfung auf dem Desktop erstellen
If CreateLink(sFile, sPath & sLinkName, "", sComment, _
  sWorkingDir, sHotKey) Then
 
  MsgBox "Verknüpfung erstellt!"
Else
  MsgBox "Fehler beim Erstellen der Verknüpfung!"
End If



Anzeige

Kauftipp Unser Dauerbrenner!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.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


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.