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