*/Program : RunExe */System : Project Bidding System */Purpose : Start a Windows Exe File without the run command */Syntax : Success = runExe(ExeName , [Parameter] , [WindowStatus]) */Returns : Sucess - logical */Parameter : ExeName - String - Drive:\Directory\Filename of program to start */ : Parameter - String - ExeFile Parameters */ : WindowStat - integer - Type of window to run program in */Defaults : ExeName - Manditory */ : Parameter - Optional */Requires : Windows 95/98/NT/2000 */Changes : */Calls : */Version : 1.0 */Dated : 08/31/2000 */Written By: David W. Grewe */************************************************************ lparameters pcExeName, pcParameters, pnWindowStat * first parameter required, other - optional if Parameters() < 2.5 pnWindowStat = 1 && see Win32Api function ShowWindow for possible values of pnWindowStat endif local lcRunString m.lcRunString = '"'+ allt(m.pcExeName) + '"' + iif(parameters() > 1 , + " " + m.pcParameters , "") declare integer WinExec in kernel32 string lpCmdLine, integer uCmdShow return WinExec(m.lcRunString, pnWindowStat) > 31 endproc
From MSDN Visual Library Help Files WinExec The WinExec function runs the specified application.
This function is provided for compatibility with 16-bit Windows. Win32-based applications should use the CreateProcess function.
UINT WinExec( LPCSTR lpCmdLine, // address of command line UINT uCmdShow // window style for new application );
Parameters lpCmdLine Pointer 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, the system searches for the executable file in this sequence: The directory from which the application loaded. The current directory. The Windows system directory. TheGetSystemDirectory function retrieves the path of this directory. The Windows directory. TheGetWindowsDirectory function retrieves the path of this directory. 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 theShowWindow 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 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 Processes and Threads Overview, Process and Thread Functions, CreateProcess,GetMessage,GetSystemDirectory,GetWindowsDirectory, LoadModule,ShowWindow
ShowWindow The ShowWindow function sets the specified window's show state.
BOOL ShowWindow( HWND hWnd, // handle to window int nCmdShow // show state of window );
Parameters hWnd Handle to the window. nCmdShow Specifies how the window is to be shown. This parameter is ignored the first time an application calls ShowWindow, if the program that launched the application provides aSTARTUPINFO structure. Otherwise, the first time ShowWindow is called, the value should be the value obtained by the WinMain function in its nCmdShow parameter. In subsequent calls, this parameter can be one of the following values: Value Meaning 1 - SW_FORCEMINIMIZE Windows NT 5.0 and later: Minimizes a window, even if the thread that owns the window is hung. This flag should only be used when minimizing windows from a different thread. 2 - SW_HIDE Hides the window and activates another window. 3 - SW_MAXIMIZE Maximizes the specified window. 4 - SW_MINIMIZE Minimizes the specified window and activates the next top-level window in the Z order. 5 - SW_RESTORE Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window. 6 - SW_SHOW Activates the window and displays it in its current size and position. 7 - SW_SHOWDEFAULT Sets the show state based on the SW_ flag specified in theSTARTUPINFO structure passed to theCreateProcess function by the program that started the application. 8 - SW_SHOWMAXIMIZED Activates the window and displays it as a maximized window. 9 - SW_SHOWMINIMIZED Activates the window and displays it as a minimized window. 10 - SW_SHOWMINNOACTIVE Displays the window as a minimized window. The active window remains active. 11 - SW_SHOWNA Displays the window in its current state. The active window remains active. 12 - SW_SHOWNOACTIVATE Displays a window in its most recent size and position. The active window remains active. 13 - SW_SHOWNORMAL Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
Return Values If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.
Remarks The first time an application calls ShowWindow, it should use the WinMain function's nCmdShow parameter as its nCmdShow parameter. Subsequent calls to ShowWindow must use one of the values in the given list, instead of the one specified by the WinMain function's nCmdShow parameter.
As noted in the discussion of the nCmdShow parameter, the nCmdShow value is ignored in the first call to ShowWindow if the program that launched the application specifies startup information in theSTARTUPINFO structure. In this case, ShowWindow uses the information specified in the STARTUPINFO structure to show the window. On subsequent calls, the application must call ShowWindow with nCmdShow set to SW_SHOWDEFAULT to use the startup information provided by the program that launched the application. This behavior is designed for the following situations:
Applications create their main window by calling CreateWindow with the WS_VISIBLE flag set. Applications create their main window by calling CreateWindow with the WS_VISIBLE flag cleared, and later call ShowWindow with the SW_SHOW flag set to make it visible. Windows CE: The nCmdShow parameter does not support the following values: