Function Reference


_WinAPI_ShellExecute

Performs an operation on a specified file

#include <WinAPIShellEx.au3>
_WinAPI_ShellExecute ( $sFilePath [, $sArgs = '' [, $sDir = '' [, $sVerb = '' [, $iShow = 1 [, $hParent = 0]]]]] )

Parameters

$sFilePath The string that specifies the file or object on which to execute the specified verb. Note that not all
verbs are supported on all objects. For example, not all document types support the "print" verb.
$sArgs [optional] The string that specifies the parameters to be passed to the application.
$sDir [optional] The string that specifies the working directory for the action.
$sVerb [optional] The string, referred to as a verb, that specifies the action to be performed. The set of available verbs
depends on the particular file or folder. Generally, the actions available from an object's shortcut
menu are available verbs. The following verbs are commonly used:

"edit"
"explore"
"find"
"open"
"edit"
"print"
$iShow [optional] The flags that specify how an application is to be displayed when it is opened ($SW_*).
$hParent [optional] Handle to the owner window used for displaying a UI or error messages.

Return Value

Success: True.
Failure: False, @extended flag may contain an error value that indicates the
cause of the failure. It can be one of the following values (excluding (-1)).
The operating system is out of memory or resources (0)
ERROR_FILE_NOT_FOUND (2)
ERROR_PATH_NOT_FOUND (3)
ERROR_BAD_FORMAT (11)
SE_ERR_*

See Also

Search ShellExecute in MSDN Library.

Example

#include <MsgBoxConstants.au3>
#include <WinAPIError.au3>
#include <WinAPIShellEx.au3>

Local $sFile = InputBox('Run', 'Type the name of a program, folder, document, or Internet resource to open it', '', '', 368, 152)

If $sFile Then
        _WinAPI_ShellExecute($sFile, '', '', 'open')
        If @error Then
                Local $iError = @error
                Local $iExtended = @extended
                MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Error = ' & $iError, 'Unable to open "' & $sFile & '".' & @CRLF & @CRLF & _WinAPI_GetErrorMessage($iExtended))
        EndIf
EndIf