Funktionreferenz


ShellExecuteWait

Beschreibung anzeigen in

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:
    $SHEX_OPEN ("open") = Öffnet die angegebene Datei. Die Datei kann eine Anwendung, ein Dokument oder ein Ordner sein.
    $SHEX_EDIT ("edit") = Startet einen Editor und öffnet das Dokument zum Bearbeiten. Falls "filename" kein Dokument ist, scheitert die Funktion.
    $SHEX_PRINT ("print") = Druckt das angegebene Dokument. Falls "filename" kein Dokument ist, scheitert die Funktion.
    $SHEX_PROPERTIES ("properties") = Zeigt die Eigenschaften der Datei oder des Ordners.
Für mehr Informationen was passiert, wenn kein "verb" festgelegt ist siehe Bemerkungen.

Die Konstanten sind in "AutoItConstants.au3" definiert.
showflag [optional] Das Anzeige-Flag des ausgeführten Programms:
    @SW_HIDE = Verstecktes Fenster
    @SW_MINIMIZE = Minimiertes Fenster
    @SW_MAXIMIZE = Maximiertes Fenster

Rückgabewert

Erfolg: Den "exit code" des ausgeführten Programms.
Fehler: Setzt das @error Flag auf ungleich 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.

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

Run, RunAs, RunAsWait, RunWait, ShellExecute

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Startet den Editor und wartet bis der Editorprozess geschlossen wurde.
    Local $iReturn = ShellExecuteWait("notepad.exe")

    ; Zeigt den Rückgabecode des Editorprozesses.
    MsgBox($MB_SYSTEMMODAL, "", "Der Rückgabecode des Editorprozesses lautet: " & $iReturn)
EndFunc   ;==>Example