Winform程序只允许应用单开

该代码能实现同一个exe程序只能打开一个,不能同时打开。

在Program.cs文件中的Main方法中进行写入

//获取当前进程的ID  
int pId = Process.GetCurrentProcess().Id;
bool isRun = false;
foreach (Process p in Process.GetProcessesByName("TrainDemo"))//TrainDemo为应用程序名称,在任务管理器中可查看应用程序名称
{
    //取得当前程序的进程,进行比较  
    if (System.Reflection.Assembly.GetExecutingAssembly().Location.ToLower() == p.MainModule.FileName.ToLower())
    {
        if (pId != p.Id)
        {
            isRun = true;
            break;
        }
    }
}
if (isRun == true)
{
    MessageBox.Show("另一个应用已启动,请勿重复开启");
    Application.Exit();
    return;
}  

猜你喜欢

转载自blog.csdn.net/horseroll/article/details/80365797