AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein vor runterfahren ein programm starten

vor runterfahren ein programm starten

Ein Thema von heiopei · begonnen am 21. Jul 2003 · letzter Beitrag vom 21. Jul 2003
Antwort Antwort
Seite 2 von 2     12
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
MPirious

Registriert seit: 21. Jul 2003
Ort: St. Augustin
3 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: vor runterfahren ein programm starten

  Alt 21. Jul 2003, 22:48
Hallo

zuerst einmal:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen } 
    procedure WMQUERYENDSESSION(var msg: TMessage); message WM_QUERYENDSESSION;
  public
    { Public-Deklarationen } 
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} 

procedure TForm1.WMQUERYENDSESSION(var msg: TMessage);
begin
  ShowMessage('Windows wird beendet.');
  msg.Result := Integer(TRUE); // TRUE: darf weiter runterfahren; FALSE: nicht runterfahren
end;
gefunden bei euch in der Code-Library

mein OS: WinXP
Es braucht nicht in 5 Sekunden abgeschlossen zu sein, da der Shutdownvorgang abgebrochen ist. Ich habe mein Programm gestartet, dann über [Start][Herunterfahren][Herunterfahren] Windows beendet. Es wurden ca. 10 Prozesse beendet, dann wurde der Shutdownvorgang abgebrochen. Ein Versuch den Vorgang (nach 2 Minuten) abzubrechen (shutdown - a in Kommandozeile) schlägt fehl mit "Das Herunterfahren des Systems konnte nicht abgebrochen werden, da das System zurzeit nicht heruntergefahren wird.

P.S. Falls ich (wieder einmal) etwas nicht beachtet habe, sagt es mir bitte, bin noch Anfänger. Danke.
MFGMP
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz