Einzelnen Beitrag anzeigen

moori

Registriert seit: 14. Jun 2003
36 Beiträge
 
Delphi 4 Professional
 
#11

Re: vor runterfahren ein programm starten

  Alt 21. Jul 2003, 22:45
Tach,

hier die Prozedure mit der man einen Neustart/Logoff abfangen kann.

Delphi-Quellcode:
unit Unit1;
interface
uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
  CheckBox1: TCheckBox; // Nur zu Testzwecken...
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
 
  private

  procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
  public
  end;


var
  Form1 : TForm1;

implementation
{$R *.DFM}

//Die Message wird nur erhalten, wenn das System runtergefahren wird.

procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
  inherited; //wichtig
// pack hier die Abfrage rein, ob das Backup fertig ist.
// wenn das System neugestartet werden darf, dann setze Result auf true
// ich hab das ganze hier mal mit ner checkbox gemacht.

  if form1.CheckBox1.Checked=true // Checkbox = true => Reboot abgebrochen
          then message.Result:=0 // EndSession = False
               else message.Result:=1; // EndSession = True
  end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// Backupprozeduren oder soo....

end;

end.
Mit Win2k und XP kein Problem, wies mit anderen Systemen aussieht musst du probieren.

Gruss Moori
Ich brauche keine Pointer, Threads usw, ich krieg auch ohne schon genügend lustige Fehler!
  Mit Zitat antworten Zitat