Блокирование выключения компьютера по-разному работает на XP и 7 - C#
Формулировка задачи:
Для предотвращения выключения компа через кнопку "Пуск" - "Завершение работы" прогуглил инет и составил простенькую программку, которая просто висит в трее. При закрытии ее формы работает процедура:
Так вот, в Windows XP это работает в любом случае, когда форма программы открыта на экране, и когда она спрятана в трее. А в 7-ке вариант с треем не работает. Сообщение показывается, после чего комп успешно выключается. Не подскажите, почему ?
private void frmMain_Closed(object sender, System.ComponentModel.CancelEventArgs e)
{
MessageBox.Show("НЕ выключайте компьютер");
e.Cancel = true;
}Решение задачи: «Блокирование выключения компьютера по-разному работает на XP и 7»
textual
Листинг программы
protected override void OnSessionEnding(SessionEndingCancelEventArgs args)
{
base.OnSessionEnding(args);
/* MessageBoxResult result =
MessageBox.Show("Do you want to save your data?",
MainWindow.Title, MessageBoxButton.YesNoCancel,
MessageBoxImage.Question, MessageBoxResult.Yes);
args.Cancel = (result == MessageBoxResult.Cancel);
*/
args.Cancel = true;//отмена отключения компа
MessageBox.Show(args.ReasonSessionEnding.ToString());
}