static void Main(string[] args) { #region One Process Process current = Process.GetCurrentProcess(); Process[] Processess = Process.GetProcessesByName(current.ProcessName); for (int i = 0; i < Processess.Length; i++) { Process process = Processess[i]; if (process.ProcessName == current.ProcessName && process.Id != current.Id) { NativeMethods.SetForegroundWindow(process.MainWindowHandle); NativeMethods.ShowWindow(process.MainWindowHandle, 9);//9 Application.Exit(); Environment.Exit(0); return; } } #endregion Vars.CreateStartup(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mainMenu = new MainMenu() { AutoStartup = args.Length > 0 }; var worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandler(Worker_DoWork); worker.RunWorkerCompleted += Worker_RunWorkerCompleted; worker.RunWorkerAsync(); Application.Run(mainMenu); }