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