Kbase 16925: How to call WinExec in Version 8.2A (and Error 3258)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
How to call WinExec in Version 8.2A (and Error 3258)
This is the 8.2A and higher, 32-Bit version of the WinExec call. If
you are using the 16-Bit version of Progress, please refer to the
Knowledgebase entry #14124 (How to Run a Windows Program using the
WinExec Function) for the 16-Bit version).
DEFINE VARIABLE ReturnCode AS INTEGER NO-UNDO.
PROCEDURE WinExec EXTERNAL "KERNEL32.DLL":
DEFINE INPUT PARAMETER ProgramName AS CHARACTER.
DEFINE INPUT PARAMETER VisualStyle AS LONG.
DEFINE RETURN PARAMETER StatusCode AS LONG.
END PROCEDURE.
/**************************************************/
/* NOTE: VisualStyle parameters are as follows: */
/* 1 = Normal */
/* 2 = Minimized */
/**************************************************/
RUN WinExec (INPUT "NOTEPAD", INPUT 1, OUTPUT ReturnCode).
IF ReturnCode >= 32 THEN
MESSAGE "Application was Started" VIEW-AS ALERT-BOX.
ELSE
MESSAGE "Application Failed" VIEW-AS ALERT-BOX.
/****************************************************/
/* RETURN CODE DESCRIPTION */
/* If the function is successful, the return value */
/* from WinExec identifies the instance of the */
/* loaded module. Otherwise, the return value is an */
/* error value between 0 and 32. */
/* */
/* 0 System was out of memory, executable */
/* file was corrupt, or relocations */
/* were invalid. */
/* 2 File was not found. */
/* 3 Path was not found. */
/* 5 Attempt was made to dynamically link */
/* to a task, or there was a sharing or */
/* network protection error. */
/* 6 Library required separate data */
/* segments for each task. */
/* 8 There was insufficient memory to */
/* start the application. */
/* 10 Windows version was incorrect. */
/* 11 Executable file was invalid. Either */
/* it was not a Windows application or */
/* there was an error in the .EXE image.*/
/* 12 Application was designed for a */
/* different operating system. */
/* 13 Application was designed for */
/* MS-DOS 4.0. */
/* 14 Type of executable file was unknown. */
/* 15 Attempt was made to load a real-mode */
/* application (developed for an earlier*/
/* version of Windows). */
/* 16 Attempt was made to load a second */
/* instance of an executable file */
/* containing multiple data segments */
/* that were not marked read-only. */
/* 19 Attempt was made to load a compressed*/
/* executable file. The file must be */
/* decompressed before it can be loaded.*/
/* 20 Dynamic link library (DLL) file was */
/* invalid. One of the DLLs required to*/
/* run this application was corrupt. */
/* 21 Application requies Microsoft */
/* Windows 32-Bit extensions. */
/****************************************************/
Progress Software Technical Support Note # 16925