在程式運行結束時釋放互斥對象,然後執行重新啟動。
靜態字串 mutexFlagStr = "TEST1";
靜態公用 bool requestRestart = false;
靜態無效Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// 透過互斥來阻止程式啟動
bool bln創建;
互斥體 m = new Mutex(true, mutexFlagStr, out blnCreate);
如果(bln創建)
{
Application.Run(new FormMain());
m.ReleaseMutex();
m.Close();
if (請求重新啟動)
{
應用程式.重新啟動();
}
}
別的
{
MessageBox.Show("程式已經啟動,不能再啟動!");
應用程式.退出();
}
}
執行重新啟動時,先將requestRestart屬性為true,然後執行Application.Exit();
-