Существует ли универсальный способ (работающий на Windows XP/Vista/7) для определения времени «выключения /включения» или «спящего режима /пробуждения» компьютера?
редактировать: я хочу определить это программно.
Посмотрите на класс EventLog .
Вам может потребоваться доступ к BIOS, если в рассматриваемой системе используются какие-либо настройки Wake-On-LAN. Для этого вы должны использовать класс Win32_BIOS.
Если вы ищете параметр в Windows, проверьте классы WMI в .Net (System.Управление пространством имен).
Инициализирует новый экземпляр класса ManagementClass. Класс представляет класс управления Common Information Model (CIM) из классов WMI . , Проверьте пример на странице документации, которая может помочь вам в их использовании.
Дополнительные сведения см. В разделе "Классы Win32" в документации по инструментарию управления Windows в библиотеке MSDN здесь.
Если вы используете библиотеку Windows Development Kit, то есть много библиотечных методов для получения информации, используя классы WMI и каталоги управления сценариями.
Если вы получаете его с помощью Windows Development Kit, то проверьте это.