Быстрый запуск Windows - Как определить, когда произошла последняя загрузка / перезагрузка - PullRequest
0 голосов
/ 19 июня 2019

Есть ли какой-то метод в .Net, который я могу использовать, чтобы выяснить, когда последний раз был выключен ПК с Windows, когда на ПК был включен «Быстрый запуск».Если конечный пользователь выбирает «Завершение работы», а не «Перезапуск», то ни одно из решений, которые я нашел до сих пор для StackOverflow, не дает мне такой информации.

«Время вверх» и «LastBootUpTime» НЕ обновляются, когда ПК с Windows, поддерживающий «Быстрый запуск», переводится в спящий режим или выключается.последний раз пользователь "выключал" компьютер?

1 Ответ

1 голос
/ 19 июня 2019

Вы можете отфильтровать журналы системных событий

Получить все журналы

foreach (var log in EventLog.GetEventLogs())
    if(log.Log == "System")
        foreach (EventLogEntry entry in log.Entries)

Чтобы получить журналы загрузки, отфильтруйте идентификатор события с помощью 6009 (упомянутый этот ответ )

(entry.InstanceId & 0x3FFFFFFF) == 6009

Чтобы получить активные журналы, отфильтруйте идентификатор события с 1 и источник с помощью «Microsoft-Windows-Power-Troubleshooter»

(entry.InstanceId & 0x3FFFFFFF) == 1 && entry.Source == "Microsoft-Windows-Power-Troubleshooter"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...