Bevor Sir Rufo damit kommt, sage ich es mal:
Mit dem
ShowMessage('Fehler beim Windows-Shutdown aufgetreten.')
tust du dir keinen Gefallen. Der Benutzer bekommt eine harmlos aussehende Info-Box, dass es einen Fehler gab. Wenn er dir das mitteilt, wie sehr hilft dir diese Info weiter? Würdest du
RaiseLastOSError()
benutzen könnte die übergeordnete Methode nicht nur auf eine EOSError-
Exception lauschen und diese behandeln, du bekommst weiterhin noch einen Windows-Errorcode (den konkreten Grund) der dir einiges mitteilen kann.
Die
eigentliche Frage finde ich ziemlich interessant und habe leider auch keine Antwort. Ich benutze statt
InitateSystemShutdown
ExitWindowsEx
, aber das wird im Endeffekt wohl keinen Unterschied machen.
Auf StackOverflow hatte jemand die gleiche Frage wie du, aber ebenso keine Antwort.