Как программно вызвать «Завершение работы», «Перезапуск», «Обновление и завершение работы», «Обновление и перезапуск» изC#

Место общения программистов C#
Ответить
Anonymous
 Как программно вызвать «Завершение работы», «Перезапуск», «Обновление и завершение работы», «Обновление и перезапуск» из

Сообщение Anonymous »

Я хочу вызвать параметры меню «Пуск» («Завершение работы», «Перезапуск», «Обновление и завершение работы» и «Обновление и перезапуск») из моего приложения WinUI 3 C# (с использованием Visual Studio).
Я попробовал завершить работу, вызвав: Shutdown.exe /s /hybrid /t 0
Я считаю, что это правильно; однако я не уверен, нужно ли это вызывать.
Я также попробовал обновить и завершить работу, позвонив:

Код: Выделить всё

[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern bool InitiateShutdown(string lpMachineName, string lpMessage,
uint dwGracePeriod, uint dwShutdownFlags, uint dwReason);

InitiateShutdown(null, null, 0, SHUTDOWN_POWEROFF | SHUTDOWN_INSTALL_UPDATES |
SHUTDOWN_FORCE_OTHERS, SHTDN_REASON_FLAG_PLANNED);
Он вызвал обновление, а затем выключился; однако обновление и завершение работы Windows 11 вызывает перезагрузку, поэтому компьютер перезагружается, выполняет оставшееся обновление, а затем выключается. Это гарантирует, что при открытии компьютера нам не придется ждать новых обновлений.
Поэтому мне нужен правильный метод для вызова этих 4 опций.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ut-down-up
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»