В отстутствии хорошего решения данной проблемы, набросал простенькую программку. Логика работы такая:
1. При переходе системы в ждущий режим (suspend to ram), программа устанавливает таймер, который будит компьютер через заданое время.
2. После пробуждения в срок, система автоматически гибернейтится. Если проснулись раньше указанного времени (например, отошли на 10мин из машины, вернулись и вкл. комп. вручную), то гибернация не производся.
3. Ожидание следующего ждущего режима
Программа требует
.net framework 2.0.
Настройка времени таймера производится в файле конфигурации, в секундах:
<userSettings>
<StandbyMonitor.Properties.Settings>
<setting name="SecondsStandby" serializeAs="String">
<value>60</value>
</setting>
</StandbyMonitor.Properties.Settings>
</userSettings>
Просьба протестировать программу и сообщить о возмоожных ошибках и пожеланиях. Особенно интересует тестирование на WinXP.