Событие выключения для консольного приложения C#

Как я могу знать, когда мое консольное приложение c# остановится? Есть ли событие или как что?

спасибо!

2 ответов


использовать ProcessExit событие домена приложения

   class Program
    {
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);           


        }

        static void CurrentDomain_ProcessExit(object sender, EventArgs e)
        {
            Console.WriteLine("exit");
        }
    }

обработка события System.Console.CancelKeyPress может помочь вам.

в MSDN объясняет это как обрабатывать это событие наряду с другими вещами, которые вам нужно позаботиться при обработке этого события, выдержка:

в этом случае используется в сочетании с Система.ConsoleCancelEventHandler и система.ConsoleCancelEventArgs. Событие CancelKeyPress позволяет консольному приложению перехватывать сигнал CTRL+C, чтобы приложение могло решить, продолжать ли выполнение или завершение.

используйте это событие для явного управления реакцией приложения сочетание клавиш CTRL+C и сигнала. Если ваше приложение имеет простые требования, вы можно использовать свойство TreatControlCAsInput вместо этого события.

обработчик событий для этого события выполняется в потоке пула потоков.