static void Main() { Thread.CurrentThread.Name = "Main"; Boolean onlyInstance; using (SystemMonitor.CreateSingleInstance(new ConsoleRenderer(), out onlyInstance)) { if (onlyInstance) { new ManualResetEvent(false).WaitOne(); } else { Console.WriteLine(Localization.DebuggerAlreadyActive); Console.WriteLine(); SystemMonitor.ShowExistingInstance(); Console.WriteLine(Localization.PressAnyKeyToExit); Console.ReadKey(); } } }
internal static void Main() { Thread.CurrentThread.Name = "Main"; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); AppDomain.CurrentDomain.UnhandledException += (sender, e) => ShowFatalException((Exception)e.ExceptionObject); Boolean onlyInstance; using (Main main = new Main()) using (SystemMonitor.CreateSingleInstance(main, out onlyInstance)) { if (onlyInstance) { Application.Run(main); } else { MessageBox.Show(Localization.DebuggerAlreadyActive, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); SystemMonitor.ShowExistingInstance(); Application.Exit(); } } }