[Back to WIN-OS2 SWAG index] [Back to Main SWAG index] [Original]

    {Casting my eye down the WIN-OS2 snippets of SWAG I noticed an entry:-
    	Booting under Windows
    submitted in November '93 by Frank Young. It seemed a rather long winded
    way of performing a reboot under Windows as there is a very versatile
    API call to do this job.

    The program presented here demonstrates the use of ExitWindows() - do a
    Topic search in the Borland Windows IDE for details, but note the comment
    below.

    This program doesn't do very much - compile and run it then press the
    right mouse button in the main window.}

    {From: M. G. Crossley, U.K. 2nd March 1997. email: mike_crossley@msn.com}

    program DoReboot;
    {Borland Pascal Object Windows Version 7.0}
    uses
      Wintypes,
      Winprocs,
      OWindows;

    type
      TRebootApp = object(TApplication)
        procedure InitMainWindow; virtual;
      end;

      PRebootWin = ^TRebootWin;
      TRebootWin = object(TWindow)
        procedure Reboot(var Msg : TMessage);
          virtual wm_First + wm_RButtonDown;
      end;

    procedure TRebootWin.Reboot(var Msg : TMessage);
    const
      ew_RebootSystem : longint = $43;
    begin
      if MessageBox(hWindow,'Do you want to reboot?','Reboot Now?',mb_YesNo) =
    idYes
      then
        {Please note that the BORLAND help for ExitWindows() shows the formal
         parameters transposed - well it does on mine!}

        ExitWindows(ew_RebootSystem,0) {****** This is it! ******}

    end;{TRebootWin.Reboot}

    procedure TRebootApp.InitMainWindow;
    begin
      MainWindow := New(PRebootWin, Init(nil, 'Press the RIGHT mouse button'));
    end;{TRebootApp.InitMainWindow}

    var
      RebootApp : TRebootApp;

    begin
      RebootApp.Init('Reboot');
      RebootApp.Run;
      RebootApp.Done
    end.

[Back to WIN-OS2 SWAG index] [Back to Main SWAG index] [Original]