Functions > Process >


RunWait

Exécute un programme externe et interrompt l'exécution du script jusqu'à ce que le programme se termine.

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

Paramètres

program Le chemin d'accès complet du programme (EXE, BAT, COM, ou PIF) à exécuter (Voir Remarques).
workingdir [optionnel] Le répertoire de travail. Vide ("") pour utiliser le répertoire de travail courant. Ce n'est pas le chemin du programme.
show_flag [optionnel] Le flag "mode d'affichage" du programme exécuté :
    @SW_HIDE = Fenêtre cachée (ou mot-clé Default)
    @SW_MINIMIZE = Fenêtre réduite
    @SW_MAXIMIZE = Fenêtre maximisée
opt_flag [optionnel] Options diverses liées à la façon dont les processus parent/enfant inter-agissent.
    $RUN_CREATE_NEW_CONSOLE (0x10000) = Le processus console enfant doit être créé avec sa propre fenêtre au lieu d'utiliser la fenêtre parent. Ce flag n'est utile que lorsque le parent est compilé comme une application Console.

La constante est définie dans "AutoItConstants.au3".

Valeur de retour

Succès: Retourne le code de sortie du programme qui a été exécuté.
Échec: Définit @error <> 0.

Remarques

Les chemins avec des espaces doivent être placés entre guillemets.

Pour exécuter des commandes DOS, essayez RunWait(@ComSpec & " /c " & "commandName") ; ne pas oublier " " avant "/c"

Après avoir exécuté le programme demandé le script se met en pause jusqu'à la fin du programme. Pour exécuter un programme puis continuer immédiatement l'exécution de script utilisez la fonction Run() à la place.

Certains programmes semble retourner immédiatement, même si ils sont encore en cours d'exécution; ces programmes engendrent un autre processus - vous devrez utiliser la fonction ProcessWaitClose() pour traiter ces cas.

En relation

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

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Lance le Bloc-notes et attend que le processus du Bloc-notes se ferme.
    Local $iReturn = RunWait("notepad.exe")

    ; Affiche le code de retour du processus du Bloc-notes.
    MsgBox($MB_SYSTEMMODAL, "", "Le code de retour de Notepad était: " & $iReturn)
EndFunc   ;==>Example