Trapping Event Windows Shutdown

How to trap event Windows Shutdown?
If you ever use Norton Anti Virus 5,
you must know, that before Windows
shutdown, it will automatically scan
for Virus in floppy disk.

Okay, need your help again any Delphi experts.

Regards,

Daniel
LVL 7
daniel_cAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
simonetConnect With a Mentor Commented:
Just write a message handler for WM_QUERYENDSESSION.

The WM_QUERYENDSESSION message is sent when the user chooses to end the Windows session or when an application calls the ExitWindows function. If any application returns zero, the Windows session is not ended. Windows stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.

Example:

(this goes on the form's Private section):

  procedure WMQueryEndSession (var Message: TMessage); message WM_QUERYENDSESSION ;

Then simply write the code for the prototype above. The procedure will be called in the events described by the text above.

Yours,

Alex
0
 
daniel_cAuthor Commented:
How to differentiate that the object sender which send the message is Windows or other applications?
What I need is just Windows not other EXEs module.
0
 
simonetCommented:
Doesn't make any difference and there's no way to differentiate between them (at least on the current versions on Windows).

So, no matter if the user clicked on Start  -> Shut down, or if any application called the ExitWindows(Ex) API call, the WM_QUERYENDSESSION will be sent to all top-level Windows the same way.


Alex

0
 
daniel_cAuthor Commented:
Thanks Alex!
0
All Courses

From novice to tech pro — start learning today.