CyberPower PowerPanelPlus and Hibernate

I recently got a new Cyber Power UPS and to my dismay found that the software, Power Panel Plus, would shut down my PC during a power outage, closing my many open programs and causing me to lose track of my work. Ideally the software should hibernate, so that when power is restored I can get back up and running with exactly the same applications and documents open that were running when the power went out. It appears that the PowerPanelPlus software does not support hibernation, so I added it. Note that while Power Panel Personal Edition seems to support hibernation, I could not get the software working with my UPS, as it was giving me the message 'Could not establish communication with the UPS' for some reason. Also, I prefer the PowerPanelPlus interface :).

The modified files for my hibernation-enabled PowerPanelPlus are available below. Use these entirely at your own risk. You should stop the Cyber Power UPS Service before overwriting upssrv.exe, and of course keep a backup of the files in case you want to revert. This hack will only work on Win2k+ (Win9x does not support hibernation) and requires hibernate to be enabled first in the Power control panel. upssrv.exe is modified to hibernate instead of shutting down and savefile.exe is a new program (there is no longer a need to save / close open files / programs as the original savefile.exe did) which monitors the CyberPowerUPS service after a resume to ensure it restarts properly. (162KiB)

Thanks to the authors OllyDbg and CFF Explorer for the tools to help to make this modification.