1、修改Program.cs內的程序啟動函數
static class Program{public static System.Threading.Mutex Instance;/// <summary>/// 應用程序的主入口點。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);bool NoRUN;//返回是否賦予了使用線程的互斥體初始所屬權 Instance = new System.Threading.Mutex(true, "MutexName", out NoRUN); //同步基元變量 if (NoRUN) //賦予了線程初始所屬權,也就是首次使用互斥體 { Application.Run(new CCD());Instance.ReleaseMutex();}else{MessageBox.Show("已經啟動了一個程序,請先退出!", "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error);Application.Exit();}}}
2、調用重啟函數;因為未知原因調用系統重啟函數Application.Restart()失敗,此處重寫了重啟函數。
public void AppRestart()
{Program.Instance.Close();Process.Start(Application.ExecutablePath);Process p = Process.GetCurrentProcess();p.Kill(); ? ? ? ? ? ?
}?
?
?