Mega Code Archive

 
Categories / Delphi / Functions
 

Shutdown, Reboot, Logoff, Monitor Off and Suspend mode functions

Title: Shutdown, Reboot, Logoff, Monitor Off and Suspend mode functions. Question: The way to make your computer to sleep, reboot or shutdown. It also have the code to force shutdown and force reboot. To try this example you need seven buttons. The Suspend Mode is a magic sendkey that I triped over and it force the computer in to suspend mode. Answer: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) btnShutDown: TButton; btnReboot: TButton; btnLogOff: TButton; btnForceDown: TButton; btnForceReboot: TButton; btnMonitorOff: TButton; btnSuspend: TButton; procedure btnLogOffClick(Sender: TObject); procedure btnShutDownClick(Sender: TObject); procedure btnRebootClick(Sender: TObject); procedure btnForceDownClick(Sender: TObject); procedure btnForceRebootClick(Sender: TObject); procedure TimerEx1Timer(Sender: TObject); procedure btnMonitorOffClick(Sender: TObject); procedure btnSuspendClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.btnLogOffClick(Sender: TObject); begin If ExitWindowsEx(EWX_LOGOFF,1)=False then ShowMessage('Uable to comply !'); end; procedure TForm1.btnShutDownClick(Sender: TObject); begin If ExitWindowsEx(EWX_SHUTDOWN,1)=False then ShowMessage('Uable to comply !'); end; procedure TForm1.btnRebootClick(Sender: TObject); begin If ExitWindowsEx(EWX_REBOOT,1)=False then ShowMessage('Uable to comply !'); end; procedure TForm1.btnForceDownClick(Sender: TObject); begin If ExitWindowsEx(EWX_SHUTDOWN + EWX_FORCE,1)=False then ShowMessage('Uable to comply !'); end; procedure TForm1.btnForceRebootClick(Sender: TObject); begin If ExitWindowsEx(EWX_REBOOT + EWX_FORCE,1)=False then ShowMessage('Uable to comply !'); end; procedure TForm1.TimerEx1Timer(Sender: TObject); begin If ExitWindowsEx(EWX_SHUTDOWN + EWX_FORCE,1)=False then ShowMessage('Uable to comply !'); end; procedure TForm1.btnMonitorOffClick(Sender: TObject); begin SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0); end; procedure TForm1.btnSuspendClick(Sender: TObject); begin Keybd_event(8,0,0,0); //I don't remember what I was doing when I found this. Keybd_event(95,0,0,0); end; end.