Изящное программное отключение окон

1

У нас есть приложение (С#/. NET), работающее на встроенной цели Windows, которая требует, чтобы машина была отключена нажатием одной кнопки. В идеале я хотел бы, чтобы программа выходила и выполняла очистку (включая установку подключенного оборудования в безопасное состояние) до завершения работы. Но, раз как только программа закрылась, я не могу выполнить команду shutdown! Так это можно сделать?

Теги:

3 ответа

2

Конечно, это можно сделать, и это очень легко.

Запустите процесс, который выдает "shutdown/s", THEn выйдет из вашей программы.

  • 0
    Так просто? LOL, похоже, я переосмыслил это.
1

Как отключить компьютер от С# отсюда:

Работы, начинающиеся с Windows XP, недоступны в выигрыше 2000 или ниже:

Это самый быстрый способ сделать это:

Process.Start("shutdown","/s /t 0");

В противном случае используйте P/Invoke или WMI, как говорили другие.

  • 0
    Это выключает компьютер, но не гарантирует плавного выхода. Так что я комбинирую это с событием Exit от WPF, и я в порядке, я полагаю?
  • 0
    попробуй :)
1

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

Пример MSDN.

Для WPF:

qaru.site/questions/544171/...


С С# лучший способ отключить:

shutdown.exe /f /r /t 0

Выполните код через Process.Start(..) и ваш компьютер немедленно начнет процесс останова.

Конечно, прежде чем выполнять это, вы должны выполнить свои процедуры "очистки".

  • 1
    как бы выключить машину ?
  • 0
    @ ТАУ, зачем это делать? ОП нажимает «кнопку».
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню