方法一:可以实现一个用户只能启动一个EXE,但是不同用户可以启动自己的EXE。比如有2个用户,可以启动2个EXE。
using System.Threading;
//控制只能启动一个EXE
bool createdNew = false;
Mutex instance = new Mutex(true, "exe程序名称", out createdNew);
if (!createdNew)
{
MessageBox.Show("已经启动了一个程序,请先退出!");
return;
}
方法二:同一操作系统只能打开一个EXE
using System.Diagnostics;
Process[] tProcess = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
if (tProcess.Length > 1)
{
MessageBox.Show("已经启动了一个程序,请先退出!");
Application.Exit();
}
else
{
Application.Run(new Main());
}