Mutex 的使用方法(預防程式啟動多次)

同一隻程式不可以啟動兩次(含)以上...可以這樣處理,打開Program.cs,引用 using System.Threading; 命名空間後,在 class 內部加入以下程式碼,就可以了。
static Mutex Mut; 

[STAThread] 
static void Main() 
{ 
 bool NewForm; 
 Mut = new Mutex(true, "exe", out NewForm); // exe 自定義的名稱 
 if (!NewForm) 
 { 
 // 表示已經有同名的 Mutex 
 Mut.Close(); 
 Mut = null; 
 MessageBox.Show("不能同時開啟多個執行檔", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error); 
 return; 
 } 
 Application.ApplicationExit += OnApplicationExit; 
 Application.EnableVisualStyles(); 
 Application.SetCompatibleTextRenderingDefault(false); 
 Application.Run(new Form1()); 
} 

static void OnApplicationExit(object sender, EventArgs e) 
{ 
 if (Mut != null) 
 { 
 Mut.ReleaseMutex(); 
 Mut.Close(); 
 } 
} 


本文範例 : Mutex使用方法.rar

留言