C#程式在一個終端中只允許開啟一次,防止多次開啟
阿新 • • 發佈:2019-02-16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace CB_ze
{
static class Program
{
/// <summary>
/// 應用程式的主入口點。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles ();
Application.SetCompatibleTextRenderingDefault(false);
bool ret;
System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
if (ret)
{
System.Windows.Forms.Application.EnableVisualStyles (); //這兩行實現 XP 可視風格
System.Windows.Forms.Application.DoEvents(); //這兩行實現 XP 可視風格
System.Windows.Forms.Application.Run(new F_Main());
// Main 為你程式的主窗體,如果是控制檯程式不用這句
mutex.ReleaseMutex();
}
else
{
MessageBox.Show (null, "有一個和本程式相同的應用程式已經在執行,請不要同時執行多個本程式。\n\n這個程式即將退出。", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
// 提示資訊,可以刪除。
Application.Exit();//退出程式
}
}
}
}
主要實現的就是C#在exe檔案安裝之後,防止多次開啟,更重要的是,多次開啟可能導致資料的儲存和修改會有很大的問題,所以一個終端只允許開啟一個程式。
實現效果:
注:因公司業務保密性,打碼的地方請諒解。