public void RunInCmd(EventHandler <MessageHandler.MessageEventArgs> logger = null) { try { if (IsWin10) { ConsoleManager.EnableVtMode(); } ServiceMode = false; MessageHandler.Message += logger ?? CommandlineLogger; OnStart(Environment.GetCommandLineArgs()); Console.Title = $@"{ServiceName} - Press Escape to Exit"; while (!(Console.KeyAvailable && Console.ReadKey(true).Key.Equals(ConsoleKey.Escape))) { Thread.Sleep(10); } OnStop(); MessageHandler.Message -= logger ?? CommandlineLogger; if (IsWin10) { ConsoleManager.DisableVtMode(); } } catch (Exception e) { Console.WriteLine(e.ToString()); Console.ReadKey(); } }