WinExec

Version 3.0

Syntax

WORD WinExec(lpCmdLine,nCmdShow)

This function executes the Windows or non-Windows application identified by the lpCmdLine parameter. The nCmdShow parameter specifies the initial state of the application's main window when it is created.

Parameter Type/Description  

lpCmdLine LPSTR Points to a null-terminated character string that contains the command line (filename plus optional parameters) for the application to be executed. If the lpCmdLine string does not contain a directory path, Windows will search for the executable file in this order:  
  1.The current directory  
  2.The Windows directory (the directory containing WIN.COM); the GetWindowsDirectory function obtains the pathname of this directory  
  3.The Windows system directory (the directory containing such system files as KERNEL.EXE); the GetSystemDirectory function obtains the pathname of this directory  
  4.The directories listed in the PATH environment variable  
  5.The list of directories mapped in a network  
  If the application filename does not contain an extension, then .EXE is assumed.  
nCmdShow int Specifies how a Windows application window is to be shown. See the description of the ShowWindow function for a list of the acceptable values for the nCmdShow parameter. For a non-Windows application, the PIF file, if any, for the application determines the window state.  

Return Value

The return value specifies whether the function was successful. If the function was successful, the return value is greater than 32. Otherwise, it is a value less than 32 that specifies the error. The following list describes the error values returned by this function:

Value Meaning

0 Out of memory.
2 File not found.
3 Path not found.
5 Attempt to dynamically link to a task.
6 Library requires separate data segments for each task.
10 Incorrect Windows version.
11 Invalid .EXE file (non-Windows .EXE or error in .EXE image).
12 OS/2 application.
13 DOS 4.0 application.
14 Unknown .EXE type.
15 Attempt in protected (standard or 386 enhanced) mode to load an .EXE created for an earlier version of Windows.
16 Attempt to load a second instance of an .EXE containing multiple, writeable data segments.
17 Attempt in large-frame EMS mode to load a second instance of an application that links to certain nonshareable DLLs already in use.
18 Attempt in real mode to load an application marked for protected mode only.

Comments

The LoadModule function provides an alternative method for executing a program.