Detect system standby/sleep/hibernate from .NET Windows Service?

4.6k Views Asked by At

In a Windows Service, I need to detect when the computer goes into sleep and when it wakes up, and run some code on these events. This needs to be done for sleep, standby and hibernate power modes.

How do I do that ?

2

There are 2 best solutions below

2
Hans Passant On BEST ANSWER

Override the ServiceBase.OnPowerEvent() method.

0
Sergej Andrejev On

I'm not sure because I have never did it myself but recently I came accross OnSessionChange method. I can't promise it allows to catch sleep event, but may be studying it's documentation in MSDN or elswere can help you.

http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.canhandlesessionchangeevent.aspx