AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Art des Shutdown herausfinden

Ein Thema von Zacherl · begonnen am 27. Jul 2005 · letzter Beitrag vom 29. Jul 2005
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Art des Shutdown herausfinden

  Alt 27. Jul 2005, 18:13
Hallo,
in meinem Programm fange ich das Herunterfahren von Windows mit der WM_QueryEndSession ab. Wie kann ich aber feststellen, ob Windows "herunterfährt, neu startet" oder sich jamand abmeldet? Sieht man das am lParam oder wParam der Message?

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Art des Shutdown herausfinden

  Alt 27. Jul 2005, 18:19
Gut geraten...

Zitat von Microsoft:
lParam
If this parameter includes ENDSESSION_LOGOFF, the user is logging off. (Note that this parameter is a bit mask. To test for this value, use a bit-wise operation; do not test for equality.)
If this parameter is zero, the system is shutting down.
marabu
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Art des Shutdown herausfinden

  Alt 27. Jul 2005, 23:17
aus einer google paq:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message
WM_QUERYENDSESSION;
    procedure WMEndSession(var Msg: TWMEndSession); message
WM_ENDSESSION;
  public
  end;


procedure TForm1.WMEndSession(var Msg: TWMEndSession);
var
  S1, S2: String;
begin
  case Msg.Unused of
    Integer(ENDSESSION_LOGOFF): S1 := 'Benutzer abmelden';
    else S1 := 'Windows beenden';
  end;
  if Msg.EndSession
  then S2 := ' wird jetzt durchgeführt
  else S2 := ' abgebrochen';
  ShowMessage(S1 + S2);
  inherited;
end;


procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
var
  S: String;
begin
  case Msg.Unused of
    Integer(ENDSESSION_LOGOFF): S := 'Benutzer abmelden';
    else S := 'Windows beenden';
  end;
  if MessageDlg(S+' okay?', mtConfirmation, [mbYes, mbNo], 0) = mrYes
  then Msg.Result := 1
  else Msg.Result := 0;
end;


procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose:
Boolean);
begin
  CanClose := MessageDlg('Anwendung beenden okay?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes;
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ShowMessage('Anwendung wird jetzt beendet');
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Art des Shutdown herausfinden

  Alt 29. Jul 2005, 10:32
Danke erst mal!
Nur wird hier nur zwischen Abmelden und Beenden unterschieden. Kann man auch herausfinden, ob der Computer Neu gestartet wird?

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.121 Beiträge
 
Delphi 12 Athens
 
#5

Re: Art des Shutdown herausfinden

  Alt 29. Jul 2005, 10:49
Zitat von marabu:
Zitat von Microsoft:
lParam
If this parameter includes ENDSESSION_LOGOFF, the user is logging off. (Note that this parameter is a bit mask. To test for this value, use a bit-wise operation; do not test for equality.)
If this parameter is zero, the system is shutting down.
Fahre deinen Computer doch einfach mal in den verschiedenen Modies runter und schau dir dabei die gesetzten Bits von lParam an ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:24 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