* :--------------------------------------- * ------------------------: Copybook for ShellExecute. * : * : See the documentation for details. * :--------------------------------------- * * To use: * * COPY WIN32API. * COPY SHELLEXE. * . * . * ------------------------: Typical call to invoke the default * : application to play an mp3 file.... * * SET SE-SW-SHOWNORMAL SHELLEXE-OPEN TO TRUE. * STRING 'c:\mysong.mp3' * LOW-VALUE DELIMITED SIZE INTO SHELLEXE-FILE-URL. * * ------------------------: Call the API to launch the program. * * SET FUNC-SHELLEXECUTE TO TRUE. * CALL 'GSWINAPI' USING WIN32API-PARMS * SHELLEXE-CMDSHOW * SHELLEXE-FILETYPEID * SHELLEXE-VERB * SHELLEXE-FILE-URL * SHELLEXE-ARGUMENTS * WIN32API-F. * * ---------------------------------------------------------------- * * Calling Parameters...: * * : Show state of the new application. 01 SHELLEXE-CMDSHOW PIC S9(9) COMP-5 VALUE 1. 88 SE-SW-HIDE VALUE 0. 88 SE-SW-SHOWNORMAL VALUE 1. 88 SE-SW-SHOWMINIMIZED VALUE 2. 88 SE-SW-SHOWMAXIMIZED VALUE 3. 88 SE-SW-SHOWNOACTIVATE VALUE 4. 88 SE-SW-SHOWMINNOACTIVE VALUE 7. * : This set of show-commands will force * : GUI ScreenIO to wait for the launched * : task to terminate before proceeding. * : Since the screen and your program * : will be frozen (and unable to repaint * : itself) you may find it preferable * : to DO-MINIMIZED for the duration. * : Note that the current implimentation 080216ja * : offers no real control over the window080216ja * : of the launched task when using wait. 080216ja 88 SE-SW-HIDE-WAIT VALUE -99. 88 SE-SW-SHOWNORMAL-WAIT VALUE -1. 88 SE-SW-SHOWMINIMIZED-WAIT VALUE -2. 88 SE-SW-SHOWMAXIMIZED-WAIT VALUE -3. 88 SE-SW-SHOWNOACTIVATE-WAIT VALUE -4. 88 SE-SW-SHOWMINNOACTIVE-WAIT VALUE -7. * : File type identifier for the * : application to be launched. SPACE or * : LOW-VALUE yields the default * : application for the specified file. * : * : For instance, to open a text (.txt) * : file using the default application * : (Notepad) set this to LOW-VALUE. * : * : To force the use of Wordpad, use * : the file type identifier "wrifile". * 01 SHELLEXE-FILETYPEID PIC X(100) VALUE LOW-VALUE. * : Verb to be performed. * 01 SHELLEXE-VERB PIC X(20) VALUE 'open'. 88 SHELLEXE-OPEN VALUE 'open'. 88 SHELLEXE-PRINT VALUE 'print'. 88 SHELLEXE-PRINTTO VALUE 'printto'. 88 SHELLEXE-PLAY VALUE 'play'. * * : File name or URL to be acted upon. 01 SHELLEXE-FILE-URL PIC X(1024) VALUE LOW-VALUE. * : Additional arguments passed to the * : application, such as printer names * : (UNC names only) for the "printto" * : operation. 01 SHELLEXE-ARGUMENTS. 05 SHELLEXE-ARG1 PIC X(255) VALUE LOW-VALUE. 05 SHELLEXE-ARG2 PIC X(255) VALUE LOW-VALUE. 05 SHELLEXE-ARG3 PIC X(255) VALUE LOW-VALUE. 05 SHELLEXE-ARG4 PIC X(255) VALUE LOW-VALUE. 05 SHELLEXE-ARG5 PIC X(255) VALUE LOW-VALUE. 05 SHELLEXE-ARG6 PIC X(255) VALUE LOW-VALUE.