Hallo Georg!
Es gibt zwei Möglichkeiten mit VBScript:
1. Der Befehl "Run" des "Shell"-Objektes:
'==> In diesen Bsp. sind die Variablen kleingeschrieben
'==> Syntax: .Run "Programmpfad" oder .Run """Pfad des Programmes"""
Set she = CreateObject("WScript.Shell")
she.Run """C:\Programme\Internet Explorer\Iexplore.exe"""
Set she = Nothing
'==> Die drei Anführungszeichen sind notwendig, falls Leerzeichen
'==> im der Pfadangabe verwendet werden müssen.
'==> Öffnen einer Datei mit einem Programm:
'==> Syntax: .Run "Programmpfad [Leerzeichen] Dateipfad"
'==> Das nachfolgende Bsp. benutzt wieder drei Anführungszeichen
'==> und String-Zusammenfügung ("&"), um das oben an-
'==> gesprochene Leerzeichenproblem zu umgehen.
Set she = CreateObject("WScript.Shell")
she.Run """C:\Programme\Internet Explorer\Iexplore.exe""" _
& " " & """C:\Eigene Dateien\Bild.gif"""
Set she = Nothing
2. Ähnlich dem "Run"-Objekt können mit dem "Exec"-Objekt Programme und Dateien geöffnet werden, darüber hinaus bietet es jedoch Methoden, zu prüfen, ob das gestartete Programm noch läuft und es skriptgesteuert wieder zu beenden; die Schreibweise für die zu startenden Programme und Dateien entspricht - abgesehen von den obligatorischen Klammern - genau der Syntax des "Run"-Objektes: .Exec ("C:\Programme\...").
ACHTUNG: Für die Unterstützung dieses Objektes brauchst du den Windows Sripting Host (WSH) Version 5.6! Kostenloser Download bei Microsoft.
Set she = CreateObject("WScript.Shell")
Set startprog = she.Exec ("""C:\Programme\Internet Explorer\Iexplore.exe""")
'==> Mit der Eigenschaft "Status" kann in einer Schleife ständig
'==> kontrolliert werden, ob das Programm noch läuft.
'==> Kostet aber ne Menge CPU-Kapazität!
Do Until startprog.Status = 1
[Mache etwas, bis das Programm beendet wird]
Loop
'==> Wenn "[Variable].Status" eine 0 zurückgibt, läuft das Programm noch,
'==> bei einer 1 wurde das Programm beendet.
'==> Wenn ein Programm über "Exec" gestartet wurde, kann das Skript das
'==> Programm auch selbst beenden:
Set she = CreateObject("WScript.Shell")
Set startprog = she.Exec ("""C:\Programme\Internet Explorer\Iexplore.exe""")
WScript.Sleep(9000)
startprog.Terminate
Set startprog = Nothing
Set she = Nothing
'==> Nach einem Tiefschlaf von 9000 Millisekunden beendet das Script wieder das gestartete Programm. Die "Nothing"-Befehle sind nicht unbedingt notwendig, aber ratsam, da sie wieder Arbeitsspeicher freigeben.
MfG
UselessUser