Как перезагрузить приложение, если Windows Update принудительно перезагрузится?

В офисе, когда я уезжаю на ночь, я очень редко выхожу или перезагружаюсь. Я просто блокирую свою рабочую станцию ​​и возвращаюсь домой, оставляя все свои инструменты для разработки именно тем, как я их оставил.

Если Windows-Update прокручивается и перезагружает мою машину посреди ночи, я только немного задумываюсь, потому что, когда я запишусь на следующее утро, любое приложение MS Office или экземпляр Visual Studio, в котором я работал, уже будут автоматически возобновляется, открывая любые файлы/проекты/решения, над которыми я, возможно, работал.

Мой вопрос: Как я могу сделать мои приложения Windows Forms (С#)? Есть ли способ для моего приложения "зарегистрироваться", который он хочет перезапустить, если система автоматически перезагружается?

Ответы

Ответ 1

Я думаю, что RegisterApplicationRestart Функция Win32 API может быть тем, что вы после этого, это часть API-интерфейса Restart Manager.

Ответ 3

Простым способом является добавление записи в следующий раздел реестра:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

Просто создайте значение, содержащее путь вашего приложения (необязательно, включая аргументы командной строки). Приложение будет запущено при следующем запуске, затем значение будет удалено.

Ответ 4

Шаг 1: Выясните способ дифференцирования перезапуска Windows с помощью стандартного. Одним из решений было бы попытаться выполнить предварительную обработку сообщений. Вероятно, они отличаются от перезапуска, вызванной Windows, или, по крайней мере, в Vista в некоторых случаях:/

Шаг 2: Если вы обнаружите перезапуск с помощью Windows, добавьте запланированную одноразовую задачу.