该代码能实现同一个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; }