# Function Reference

# ShellExecuteWait

Runs an external program using the ShellExecute API and pauses script execution until it finishes.

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

## Parameters

filename | The name of the file to run (EXE, .txt, .lnk, etc).
parameters | [optional] Any parameters for the program. Blank ("") uses none.
workingdir | [optional] The working directory. Blank ("") uses the current working directory.
verb | [optional] The "verb" to use, common verbs include: $SHEX_OPEN ("open") = Opens the file specified. The file can be an executable file, a document file, or a folder $SHEX_EDIT ("edit") = Launches an editor and opens the document for editing. If "filename" is not a document file, the function will fail $SHEX_PRINT ("print") = Prints the document file specified. If "filename" is not a document file, the function will fail $SHEX_PROPERTIES ("properties") = Displays the file or folder's properties See remarks for more information on the default behavior when a verb is not specified. Constants are defined in "AutoItConstants.au3".
showflag | [optional] The "show" flag of the executed program: @SW_HIDE = Hidden window @SW_MINIMIZE = Minimized window @SW_MAXIMIZE = Maximized window

## Return Value

Success: | the exit code of the program that was run.
Failure: | sets the @error flag to non-zero.

## Remarks

After running the requested program the script pauses until the requested program terminates
When no verb is specified the default verb is used. The default verb is the verb configured in the registry. If no verb is set as default in the registry then the "open" verb is used. If the "open" verb is not present then the first verb listed in the registry is used.

## Related

Run, RunAs, RunAsWait, RunWait, ShellExecute

## Example

    #include <MsgBoxConstants.au3>

    Example()

    Func Example()
        ; Execute Notepad and wait for the Notepad process to close.
        Local $iReturn = ShellExecuteWait("notepad.exe")

        ; Display the return code of the Notepad process.
        MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
    EndFunc   ;==>Example