Funktionsreferenz

ShellExecuteWait

Führt ein externes Programm unter Verwendung der ShellExecute API aus und pausiert die Skriptausführung, bis das Programm beendet wird.

ShellExecuteWait ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )

 

Parameter

filename Der Name der auszuführenden Datei (EXE, .txt, .lnk etc.).
parameters [optional] Alle Parameter für das Programm. Leerer String ("") verwendet keine.
workingdir [optional] Das Arbeitsverzeichnis. Ein leerer String ("") verwendet das aktuelle Arbeitsverzeichnis.
verb [optional] Der zu verwendende Folgebefehl, gebräuchliche Folgebefehle sind:
  open = Öffnet die angegebene Datei. Die Datei kann eine Anwendung, ein Dokument oder ein Ordner sein.
  edit = Startet einen Editor und öffnet das Dokument zum Bearbeiten. Falls "filename" kein Dokument ist, scheitert die Funktion.
  print = Druckt das angegebene Dokument. Falls "filename" kein Dokument ist, scheitert die Funktion.
  properties = Zeigt die Eigenschaften der Datei oder des Ordners.
  Für mehr Informationen was passiert, wenn kein "verb" festgelegt ist siehe Bemerkungen.
showflag [optional] Das Anzeige-Flag des ausgeführten Programms:
  @SW_HIDE = Verstecktes Fenster
  @SW_MINIMIZE = Minimiertes Fenster
  @SW_MAXIMIZE = Maximiertes Fenster

 

Rückgabewert

Erfolg: Gibt den "exit code" des ausgeführten Programms zurück.
Fehler: Gibt 0 zurück und setzt @error auf nicht-null.

 

Bemerkungen

Nach dem Starten des angegebenen Programms pausiert das Skript, bis das gestartete Programm beendet wurde.

Wenn kein "verb" festgelegt wird, wird das Standard-verb verwendet. Das Standard-verb ist das "verb" welches in der Registry definiert ist. Falls kein "verb" in der Registry als Standard gesetzt ist, wird das "open" "verb" verwendet. Falls das "open" "verb" nicht verfügbar ist, dann wird das erste in der Registry aufgelistete "verb" verwendet. (außer bei Windows 2000)

Um .lnk-Dateien (Verknüpfungen) zu starten ist es eventuell notwendig, zuerst den korrekten Dateinamen zu ermitteln. Dies geschieht mit der Funktion FileGetShortcut.
Bsp:
$filepath = FileGetShortcut($lnk)
ShellExecute($filepath[0])

 

Verwandte Funktionen

ShellExecute, Run, RunWait, RunAs, RunAsWait

 

Beispiel


$val = ShellExecuteWait("Notepad.exe")

; Skript wartet bis Notepad beendet ist.
MsgBox(0, 'Programm beendete mit dem "exit code":', $val)