1 //获取程序本身的进程 2 Process CP = Process.GetCurrentProcess(); 3 //获取运行机器的所有进程 4 Process[] CIPR = Process.GetProcesses(); 5 6 //使用Linq,在运行机器的所有进程中找到第二个程序 7 //程序名一样,进程Id不一样;说明程序运行了至少有2个。 8 var mp = from p in CIPR 9 where p.ProcessName = CP.PrecessName 10 && p.Id != CP.Id 11 select p; 12 if(mp.count()>0) 13 { 14 //此程序已近运行,需要退出。 15 }