標籤:style color 檔案 os for io
一般的如果運行一個軟體、讓他處於運行狀態,然後我們再去開啟這個程式時就會提示我們
“程式已啟動或者不能重複啟動此程式”,比如QQ對戰平台 ,就限制一台機子啟動兩個QQ對
戰平台,那麼他在C#中是如何?的呢?
一般有兩種方法,我是用的是第一種
方法1:
在項目的第一個表單的啟動事件中 如form1_load() 中添加如下語句
=================================這是什麼分割線====================================
#region 判斷系統是否已啟動
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("這裡是你的程式進程名");//擷取指定的進程名
if (myProcesses.Length > 1) //如果可以擷取到知道的進程名則說明已經啟動
{
MessageBox.Show("程式已啟動!");
Application.Exit(); //關閉系統
}
#endregion
===================================================================================
好了 這樣就可以達到防止使用者第二次啟動此程式的目的了
當然你也可以把它編輯成一個類 或產生一個dll檔案 調用它。
方法2.
在項目的啟動引導檔案 Program.cs中加入判斷語句
====================================這是什麼分割線===============================
using System.Linq;
using System.Windows.Forms;
namespace XiaoZhiSoft
{
static class Program
{
/// <summary>
/// 應用程式的主進入點。
/// </summary>
[STAThread]
static void Main()
{
bool isRuned;
System.Threading.Mutex mutex = new System.Threading.Mutex(true, "OnlyRunOneInstance", out isRuned);
if (isRuned)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
mutex.ReleaseMutex();
}
else
{
MessageBox.Show("程式已啟動!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}