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?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

simonetCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.