Blue Flower

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