Как обработать завершение консольного приложения C#?

Если у меня есть консольное приложение, есть ли любой способ, которым я могу обработать следующее:

  1. Ctrl-C (я знаю ответ на это. Использование Консоли. TreatControlCAsInput и Консоль. CancelKeyPress)
  2. Завершение сессии, такой как тогда, когда кто-то выходит из системы
  3. Выход процесса, такой как тогда, когда кто-то использует диспетчер задач для закрытия приложения.

Я знаю, что, если бы я писал приложение Unix, я обработал бы различные сигналы поймать запрос для закрытия (SIGTERM из памяти), но я также знаю, что должен обработать эти сообщения довольно быстро и выход, прежде чем система сделает уничтожение-9 (SIGKILL).

Но для консольного приложения C#, я не уверен, как сделать это.

5
задан Nick Randell 31 March 2010 в 11:57
поделиться

1 ответ

Завершение сессии, например, когда кто-то выходит из системы

Обработка события SystemEvents.SessionEnded.

Завершение процесса, например, когда кто-то использует диспетчер задач для закрытия приложения.

Если вы имеете в виду, если кто-то закрывает приложение с панели задач, я не думаю, что вы сможете это обработать.

4
ответ дан 15 December 2019 в 00:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: