Windows bietet mit den Bordmittel nicht die Möglichkeit an eine Anweldung unsichbar zu starten. Hierzu muss über den Umweg eines sehr einfachen WSH Scriptes das Ganze gestartet werden. Im Script gibt im Application Objekt die Funtion ShellExecute mit der Option showHidden um eine Anwendung oder eine weiters Script versteckt zu starten. Das Startscript taucht dann kurz in der Taskleiste auf und verschwindet dann wieder da dieses Script nach dem Start der weiteren Andwendung beendet wird.
Hierfür müssen 2 Dinge zur einfacheren Handhabung erstellt werden.
1.) Eine Verknüpfung welche das WSH-Script startet das wiederum die eigentliche Anwedung bzw Script unsichtbar startet.
Die Vernüpfung (Link) sollte im Feld Ziel bzw. bei Erstellen folgenden Inhalt haben. (Wenn der Script-Dateipfad Leerzeichen enthält dementsprechend mit Anführungszeichen kapseln)
"cscript.exe c:\test\run_hidden.vbs"
2.) WSH-Script das die eigentliche Anwendung versteckt startet. z.B. als c:\test\run_hidden.vbs
2b.) Wenn ein Script versteckt gestartet werden soll muss es dieses natürlich auch geben ;-)
Option Explicit '******************************************** ' Script oder Programm augeblendet starten '******************************************** Dim oApp, sApp, sPara, sScriptPath ', oWSH Set oApp = CreateObject("Shell.Application") 'Set oWSH = CreateObject("Wscript.shell") ' 'Das Programm bzw. Scriptinterpreter 'sApp = oWsh.ExpandEnvironmentStrings("%SystemRoot%") & "\system32\cscript.exe" sApp = "cscript.exe" sScriptPath = Replace(WScript.ScriptFullName, WScript.ScriptName, vbNullString) ' Startparameter für die Anwendung oder Script-Datei sPara = sScriptPath & "\wait_then_run_calc.vbs" ' Programm / Script Ausführen mit Parametern, 0 => Ausführung versteckt (hidden) ohen auf das beenden zu warten. oApp.ShellExecute sApp, sPara, "", "", 0 Set oApp = Nothing 'Set oWSH = Nothing
Hier im Bsp. wird ein zweites Script gestartet das eine Inputbox öffnet um eine Wartezeit abzufragen nach deren Ablauf dann der Taschenrechner gestartet wird.
Option Explicit '******************************************** ' Script oder Programm augeblendet starten '******************************************** Dim oWSH, sApp, sPara, iWait Set oWSH = CreateObject("Wscript.shell") 'Das Programm bzw. Scriptinterpreter hier der Taschenrechner sApp = "calc.exe" sPara = "" ' Keine Startparameter ;-) iWait = cInt(InputBox("Wartezeit eingeben (Sekunden)", "Dialogfenster", "5")) * 1000 'Warten WScript.Sleep iWait oWSH.run sApp ' & " " & sPara Set oWSH = Nothing