Присоедините метод обработчика события к событию SystemEvents.SessionEnding
, и ваш метод обработчика будет вызываться каждый раз, когда событие вызывается. Обработка этого события позволит вам отменить ожидающий выход из системы или выключение, если хотите. (Хотя на самом деле это не работает так, как звучит в современных операционных системах; для получения дополнительной информации см. Документацию MSDN здесь .)
Если вы не хотите отменять событие, а просто реагировать на него соответствующим образом, вам следует обработать событие SystemEvents.SessionEnded
.
Вы должны убедиться, что вы отсоедините ваши обработчики событий, когда приложение закрыто, поскольку оба они являются статическими событиями.