关键词: C#只运行一个程序
只运行一个程序
[STAThread]
static void Main(string[] args)
{
//保证该程序只有一个在运行
bool createdNew;
System.Threading.Mutex mutex_Application = new System.Threading.Mutex(true,"test",out createdNew);
if (!createdNew)
{
MessageBox.Show("本程序只允许同时运行一个!");
return;
}
Application.Run();
}
还是用进程吧,我的程序中试用。
private void MainWindow_Load(object sender, System.EventArgs e)
{
Process[] processes=Process.GetProcessesByName("MYEXENAME");
if( processes != null)
{
if( (processes.Length)== 2) //第2个进程
{
processes[1].CloseMainWindow();
}
}
}