標籤:winform style class c a get
有很多方案,先來最傻瓜式的 :
static class Program
{
/// <summary>
/// 應用程式的主進入點。
/// </summary>
[STAThread]
static void Main()
{
if (System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length> 1)
{
MessageBox.Show("已經有一個運行了");
}
else
{
Application.Run(new Form1());
}
}
}
再來一種
static class Program
{
[STAThread()]
public static void Main()
{
bool ret;
System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out ret);
if (ret)
{
//System.Windows.Forms.Application.EnableVisualStyles(); //這兩行實現 XP 可視風格
//System.Windows.Forms.Application.DoEvents();
System.Windows.Forms.Application.Run(new Form1());
// frmMain 為你程式的主表單,如果是控制台程式不用這句
m.ReleaseMutex();
}
else
{
MessageBox.Show(null, "有一個和本程式相同的應用程式已經在運行,請不要同時運行多個本程式。\n\n這個程式即將退出。 ", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
// 提示資訊,可以刪除。
Application.Exit();//退出程式
}
}
}