Это происходит иногда с установками Windows XP. Если драйверы дисплея не установлены, действия по энергосбережению, такие как режим ожидания и спящий режим, не поддерживаются.
Можно ли проверить, поддерживает ли система спящий режим - http://pinvoke.net/default.aspx/powrprof/IsPwrHibernateAllowed.html
Есть ли что-то подобное для проверки поддержки в режиме ожидания?
проверить все функции управления porwer здесь
есть IsPwrSuspendAllowed, который мог бы использовать его
Чтобы отправить машину в режим сна или спящий режим, используйте функцию функции Win32 SetSuspendState
http://msdn.microsoft.com/en-us/library/aa373201%28VS.85%29.aspx
НО я не смог найти все, что скажет, доступен ли этот режим без фактического вызова указанной функции и получения ошибки с помощью функции GEtLastError().
EDIT: используйте функцию GetPwrCapabilities
http://msdn.microsoft.com/en-us/library/aa372691%28VS.85%29.aspx
В том, что структура SYSTEM_POWER_CAPABILITIES возвращает: SleepButtonPresent
http://msdn.microsoft.com/en-us/library/aa373215%28VS.85%29.aspx которые могут помочь.