Событие выключения для консольного приложения 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 вместо этого события.
обработчик событий для этого события выполняется в потоке пула потоков.