 <p>The simplest way is to hook up to the <a href="http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&amp;l=EN-US&amp;k=k%28MICROSOFT.WIN32.SYSTEMEVENTS.POWERMODECHANGED%29;k%28POWERMODECHANGED%29;k%28TargetFrameworkMoniker-%22.NETFRAMEWORK,VERSION=V4.0%22%29;k%28DevLang-CSHARP%29&amp;rd=true" rel="nofollow">Microsoft.Win32.SystemEvents.PowerModeChanged</a>. However, you need to look at the SystemInformation.PowerStatus value to figure out what changed.</p>