Блокирование выключения компьютера по-разному работает на XP и 7 - C#

Узнай цену своей работы

Формулировка задачи:

Для предотвращения выключения компа через кнопку "Пуск" - "Завершение работы" прогуглил инет и составил простенькую программку, которая просто висит в трее. При закрытии ее формы работает процедура:
Листинг программы
  1. private void frmMain_Closed(object sender, System.ComponentModel.CancelEventArgs e)
  2. {
  3. MessageBox.Show("НЕ выключайте компьютер");
  4. e.Cancel = true;
  5. }
Так вот, в Windows XP это работает в любом случае, когда форма программы открыта на экране, и когда она спрятана в трее. А в 7-ке вариант с треем не работает. Сообщение показывается, после чего комп успешно выключается. Не подскажите, почему ?

Решение задачи: «Блокирование выключения компьютера по-разному работает на XP и 7»

textual
Листинг программы
  1.   protected override void OnSessionEnding(SessionEndingCancelEventArgs args)
  2.         {
  3.             base.OnSessionEnding(args);
  4.  
  5.             /* MessageBoxResult result =
  6.                  MessageBox.Show("Do you want to save your data?",
  7.                                  MainWindow.Title, MessageBoxButton.YesNoCancel,
  8.                                  MessageBoxImage.Question, MessageBoxResult.Yes);
  9.  
  10.              args.Cancel = (result == MessageBoxResult.Cancel);
  11.              */
  12.             args.Cancel = true;//отмена отключения компа
  13.             MessageBox.Show(args.ReasonSessionEnding.ToString());
  14.  
  15.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы