WinExec
The WinExec
function runs the specified application.
This function
is provided for compatibility with earlier versions of Windows. For Win32-based
applications, use the CreateProcess
UINT WinExec(
LPCSTR lpCmdLine, |
// address of
command line |
UINT uCmdShow |
// window style for
new application |
); |
|
Parameters
lpCmdLine
Points to a
null-terminated character string that contains the command line (filename plus
optional parameters) for the application to be executed. If the name of the
executable file in the lpCmdLine parameter does not contain a directory
path, Windows searches for the executable file in this sequence:
1. The directory from which the application loaded.
2. The current directory.
3. The Windows system directory. The GetSystemDirectory function retrieves the
path of this directory.
4. The Windows directory. The GetWindowsDirectory function retrieves the
path of this directory.
5. The directories listed in the PATH environment variable.
uCmdShow
Specifies how
a Windows-based application window is to be shown and is used to supply the wShowWindow
member of the STARTUPINFO parameter to the CreateProcess function.
For a list of the acceptable values, see the description of the nCmdShow
parameter of the ShowWindow
function. For a non-Windows -
based application, the PIF file, if any, for the application determines the
window state.
Return Values
If the
function succeeds, the return value is greater than 31.
If the
function fails, the return value is one of the following error values:
Value |
Meaning |
0 |
The system
is out of memory or resources. |
ERROR_BAD_FORMAT |
The .EXE
file is invalid (non-Win32 .EXE or error in .EXE image). |
ERROR_FILE_NOT_FOUND |
The
specified file was not found. |
ERROR_PATH_NOT_FOUND |
The
specified path was not found. |
Remarks
Win32-based
applications should use the CreateProcess function rather than this function.
The WinExec function exists in Win32 to provide compatibility with
earlier versions of Windows. For more information about how the WinExec function
is implemented, see the Remarks section of the LoadModule
In Win32, the
WinExec function returns when the started process calls the GetMessage
function or a time-out limit is reached. To avoid waiting for the time out
delay, call the GetMessage function as soon as possible in any process
started by a call to WinExec.
See Also