Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
        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();
                    }
                }
        }