How to Terminate Windows from Within QuickWin Programs

ID: Q79382


The information in this article applies to:
  • Microsoft FORTRAN for MS-DOS, version 5.1


SUMMARY

Microsoft FORTRAN version 5.1 QuickWin programs can terminate themselves, end the Windows session, and return to MS-DOS using the Windows API ExitWindows(). This is a capability that is requested by users attempting to run QuickWin programs in a batch mode from MS-DOS.


MORE INFORMATION

ExitWindows() returns a 1 if successful and a 0 (zero) if unsuccessful. The function may be unsuccessful if an application running in Windows refuses to terminate when attempting to exit Windows. The first argument should always be zero. The second argument is used to pass a return code back to MS-DOS when Windows exits.

Sample Code #1


c  The following code demonstrates how to use ExitWindows() from
c  within a FORTRAN program. This code should be compiled and linked
c  as a QuickWin Windows program.

c  FL /MW WINEXIT.FOR        Sample command line for this program.

      interface to integer*2 function EXITWINDOWS
     + (dwReserved, wReturnCode)
      integer*4 dwReserved [value]
      integer*2 wReturnCode [value]
      end

      program winexit
      integer*2 ExitWindows,j

      open(1,file='test.dat')

      do i=1, 50
        write(*,*) i
        write(1,*) i
      end do

      close(1)

      j = ExitWindows(0,0)
      if (j.eq.0) print*, 'ExitWindows failed'

      end

The following batch file demonstrates how this program could be run
from MS-DOS:

   win winexit
   type test.dat 

Sample Code #2


c  The following DOS FORTRAN program demonstrates how the QuickWin
c  program WINEXIT.EXE above could be called by a DOS program that
c  resumes execution on completion of the QuickWin program. This code
c  should be compiled and linked as an MS-DOS program.

c  FL  WINCALL.for    Sample command line for this program.

      interface to function spawnlp[c,varying] (mode)
      integer*2 spawnlp, mode
      end

      program wincall

      integer*2 spawnlp,i

C Spawning Windows and QuickWin program WINEXIT.EXE from MS-DOS executable.
      i=spawnlp(0,loc('d:\\windows\\win.com'c),
     +            loc('d:\\windows\\win.com'c),
     +            loc('e:\\arts\\mine\\exitwin\\WINEXIT.EXE'c),
     +            int4(0) )

C After exiting Windows, control returns to this point:
      open(2,file='test.dat')

      do j=1,50
        read(2,*) jj
        print*,jj
      end do

      close(2,status='delete')
      end 

Additional query words: kbinf 5.10

Keywords :
Version : :5.1
Platform :
Issue type :


Last Reviewed: October 29, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.