unit AutoEject;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls,mmsystem, StdCtrls;
type
  TForm1 = class(TForm)
    // 转到下面
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Button1Click(Sender: TObject);
  private
    procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;
  
implementation{$R *.DFM}procedure tform1.WMQueryEndSession (var Msg: TWMQueryEndSession);
begin
    showmessage('you will reboot' );
end;