Можете да откриете събуждането, като периодично сравнявате текущото системно време с предишното системно време.
Редактиране:ето един пример, който изглежда, че ще ви помогне да откриете кога машината ще заспи:http://www.codeguru.com/cpp/w-p/system/messagehandling/article.php/c6907