Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
697 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Herunterfahren verhindern, Programm nicht beenden

  Alt 23. Jun 2016, 10:53
Den ShutdownBlockReason musst Du nach dem Beantworten der WM_QUERYENDSESSION setzen...nicht irgendwann vorher.

Sherlock
Sicher? Nach meinem Gefühl wäre das viel zu spät. MS schreibt dazu:

Applications should call this function as they begin an operation that cannot be interrupted, such as burning a CD or DVD. When the operation has completed, call the ShutdownBlockReasonDestroy function to indicate that the system can be shut down.

Quelle: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Edit:
Ich habs ausprobiert: Auch damit wird das Programm beendet:

procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
Message.Result := 0;
ShutdownBlockReasonCreate(handle, 'Reason gesetzt!');
end;

Der Text der "BlockReason" wird von Windows angezeigt, wenn ich ShutdownBlockReasonCreate per Button-Click oder per WMQueryEndSession aufrufe...

Geändert von BlueStarHH (23. Jun 2016 um 11:02 Uhr)
  Mit Zitat antworten Zitat