If you are merely trying to keep a system 'alive' consider investing these coding tips into your application, from the MDSN topic: Using Power Management, instead of disabling the hibernate policy altogether, just keep system awake while your program is running. If user does NOT run your program, then there might be no reason the system should not hibernate. If yu need to perform some task at a scheduled time, then let it hibernate, but consider setting a waitable timer. This will wake system up and your process will resume.