Funktionreferenz


RunWait

Beschreibung anzeigen in

Startet ein externes Programm und pausiert die Ausführung des Autoit-Skripts, bis das externe Programm beendet ist.

RunWait ( "program" [, "workingdir" [, show_flag [, opt_flag]]] )

Parameter

program Der komplette Pfad des Programms (.EXE, .BAT, .COM oder .PIF), die ausgeführt werden soll. (siehe Bemerkungen)
workingdir [optional] Der Pfad, in dem das Programm ausgeführt werden soll (Arbeitsverzeichnis). Ein leerer String ("") steht für aktuelles Arbeitsverzeichnis. Dies ist nicht der Pfad des Programms.
show_flag [optional] Das "show"-Flag für das ausgeführte Programm:
    @SW_HIDE = Verstecktes Fenster (alternative Eingabe: default)
    @SW_MINIMIZE = Minimiertes Fenster
    @SW_MAXIMIZE = Maximiertes Fenster
opt_flag [optional] Steuert verschiedene Optionen, die die Interaktion zwischen Parent- und Child-Prozess betreffen (STDIO).
    0x10000 ($RUN_CREATE_NEW_CONSOLE) = Der Child-Kommandozeilenprozess wird in einem eigenen Kommandozeilenfenster ausgeführt. Dieses Flag ist nur dann sinnvoll, wenn die Parent-Anwendung als Kommandozeilenapplikation kompiliert wurde.

Rückgabewert

Erfolg: Den ExitCode des ausgeführten Programms.
Fehler: Setzt das @error Flag auf ungleich null.

Bemerkungen

Pfade mit Leerzeichen müssen in Anführungszeichen gesetzt werden.

Um DOS Befehle auszuführen, ist RunWait(@ComSpec & " /c " & "commandName") zu benutzen. Nicht die Leerzeichen vor und nach "/c" vergessen!

Nach dem Start des externen Programms wird das Autoit Skript solange pausiert, bis das externe Programm beendet ist. Um ein externes Programm zu starten, ohne das Autoit-Skript zu pausieren, ist die Run() Funktion zu benutzen.

Einige Programme scheinen sofort nach dem Start zurückzukehren, obwohl sie noch laufen. Diese Programme erzeugen andere Prozesse, die evtl. mit der Funktion ProcessWaitClose() abgefangen werden können.

Verwandte Funktionen

ProcessWait, ProcessWaitClose, Run, RunAs, RunAsWait, ShellExecute, ShellExecuteWait

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Startet den Editor und wartet bis der Prozess nicht mehr existiert.
    Local $iReturn = RunWait("notepad.exe")

    ; Zeigt den Rückgabewert des Editorprozesses an.
    MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
EndFunc   ;==>Example