Winform和WPF检查应用是否重复打开
一、以App扩展方法检查进程名和进程ID的方式
1 Public static T SetSingleProcess(this T app)Where T:Application 2 { 3 var process=Process.GetProcesses().Where(p=>p.ProcessNames==Process.GetCurrentProcess().ProcessName&&p.Id!=Process.GetCurrentProcess().Id) .FirstOrDefault(); 4 if(process!=null) 5 { 6 if(MessageBox.Show("应用已打开,是否关闭再打开?",“提示”,MessageboxButton.YesNo)==MessageBoxResult.Yes) 7 { 8 process.Kill(); 9 } 10 else 11 { 12 app.ShutDown(); 13 } 14 } 15 }