Kategorien
Programmierung VBScript

Desktopverknüpfung per VBS erstellen

Wenn man eine Desktopverknüpfung z.B. im Netzwerk auf allen Clients installiert haben möchte oder muß, dann kann das schon Arbeit bedeuten. Hier kann ein kleines VBScript helfen, das die User zur Verfügung gestellt bekommen und welches die benötigte Verknüpfung erstellt.

Im folgenden Beispiel soll eine Java-Anwendung verknüpft werden. Diese bekommt ein eigenes Icon, welches im Netzwerk liegt. Außerdem soll die Java-Applikation direkt über die JAVAWS.EXE und nicht etwa über den Browser gestartet werden…
Nachfolgend das entsprechende Script für diesen speziellen Fall, ansonsten kann es natürlich nach Bedarf angepasst oder erweitert werden.

' Verknüpfung auf dem Desktop anlegen per VBScript

' Variablenvorgabe
Dim objShell
Dim objShortCut
  
Set objShell = CreateObject("WScript.Shell")
strWinDir = objShell.ExpandEnvironmentStrings("%WinDir%")  ' Windows Systemverzeichnis ermitteln
strLPfad=objShell.SpecialFolders("Desktop")  'Pfad zum Desktop

strProgrammtitel = ""  'Name der Verknüpfung
strProgramm = strWinDir & "system32javaws.exe"  'Programm das Verknüpft werden soll
strArguments = "http:///Javaanwendung.jnlp"  'Startargumente für das zu startende Programm
strAusfuehrenIn = strWinDir  'Verzeichnis -Ausführen in-
strIcon = "\Icon.ico"  'Eigenes Icon für die Verknüpfung   

' Rueckfrage ob Erstellung der Verknüpfung ok ist
ObjShell = msgbox("Wollen Sie eine Desktopverknüpfung anlegen?", +vbYesNo+vbExclamation ,"") 

' Ist ok? Dann erstellen
If ObjShell = vbYes then
  Set objShell= WScript.CreateObject("Wscript.Shell")
  Set objShortCut=objShell.CreateShortCut(strLPfad & "" & strProgrammtitel & ".lnk")
  objShortCut.Arguments= strArguments
  objShortCut.TargetPath= strProgramm
  objShortCut.WorkingDirectory= strAusfuehrenIn
  objShortCut.Description= strProgrammtitel
  ' objShortcut.IconLocation = strProgram & ", -1500"      'Programmicon verwenden
  objShortCut.IconLocation = strIcon & ", -1500"           'Eigenes Icon verwenden
  objShortCut.Save
End if

Das funktioniert wunderbar und macht eine entsprechende Aufgabe doch erheblich einfacher.

Ein Tipp:
Sollte nicht ganz klar sein, welche Werte über welche Parametervorgaben übergeben werden müssen, dann kann man die Verknüpfung manuell anlegen und über folgendes Script die nötigen Werte für obiges VBS ermitteln

set WshShell = WScript.CreateObject("WScript.Shell")
 strDesktop = WshShell.SpecialFolders("Desktop")
 set Link1 = WshShell.CreateShortcut(strDesktop & "BR6.2_.lnk")
 msgbox "Targetpath = " & Link1.TargetPath  & vbcrlf _
  & "WorkingDirectory = " & Link1.WorkingDirectory & vbcrlf _
  & "Arguments = " & Link1.Arguments & vbcrlf _
  & "WindowStyle = " & Link1.WindowStyle & vbcrlf _
  & "Hotkey = " & Link1.Hotkey & vbcrlf _
  & "IconLocation = " & Link1.IconLocation & vbcrlf _
  & "Description = " & Link1.Description & vbcrlf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert