Зачем вам это нужно?
В Windows уже есть встроенная функция, которая называется «Отслеживание событий выключения». Он включен по умолчанию в серверных ОС, и вы также можете включить его с помощью групповых политик (например, с помощью gpedit.msc
) в настольных версиях Windows.
Это дает вам возможность:
- Избегайте, чтобы пользователь выключил машину по ошибке, отображая диалоговое окно, например:
- Отслеживайте события завершения работы через Event Viewer с более подробным представлением.
Например:
- Без включенного трекера событий у вас есть:
Kernel-Power: 109 Менеджер питания ядра инициировал переход выключения.
Общее ядро: 13 Операционная система завершает работу в системное время 2011 - 09 - 10T00: 23: 20.247232500Z.
- С помощью функции «Выключение событий» вы получаете:
USER32: 1074 Процесс Explorer.EXE инициировал перезагрузку компьютера <Имя компьютера> от имени пользователя <Имя домена> \ <Имя пользователя> по следующей причине: Потеря подключения к сети (незапланированная)
Код причины: 0x4050014
Тип выключения: запустить снова
Отсюда, если вы разработчик или если вы можете нанять его, вы можете легко создать инструмент, который будет сканировать события Windows и импортировать важную информацию в вашу базу данных, включая пользователя, который начал отключение, или причину ,