This example performs an OS/2 System Shutdown from a program.

 #define INCL_WINWORKPLACE
 #define INCL_DOSFILEMGR
 #define INCL_DOSERRORS
 #include <os2.h>
 #include <stdio.h>

 int main(VOID)
   {

    HAB   hab      = NULLHANDLE;   /* Window handle */
    HMQ   hmq      = NULLHANDLE;   /* Message queue handle */
    BOOL  fSuccess = 0;            /* Win API success indicator */

    hab = WinInitialize( 0 );
    hmq = WinCreateMsgQueue( hab, 0 );

    /* Prevent our program from hanging the shutdown.  If this call is
       omitted, the system will wait for us to do a WinDestroyMsgQueue. */

    fSuccess = WinCancelShutdown( hmq, TRUE );

    /* Shutdown the system! */

    printf("System Shutdown will now be attempted...\n");
    fSuccess = WinShutdownSystem( hab, hmq );

    if (!fSuccess) {
       return 1;
    } else {
       return NO_ERROR;
    } /* endif */

    }


[Back] [Next]