本文共 863 字,大约阅读时间需要 2 分钟。
描述:用户多次快速开启WPF程序的时候 只运行起来 一个 程序(exe) 其他多开的 进程 自动关闭掉
App.xaml.cs文件
1 protected override void OnStartup(StartupEventArgs e) 2 { 3 //当前运行WPF程序的进程实例 4 Process process = Process.GetCurrentProcess(); 5 //遍历WPF程序的同名进程组 6 foreach (Process p in Process.GetProcessesByName(process.ProcessName)) 7 { 8 //不是同一进程并且本进程启动时间最晚,则关闭较早进程 9 if (p.Id != process.Id && (p.StartTime - process.StartTime).TotalMilliseconds <= 0)10 {11 p.Kill();//这个地方用kill 而不用Shutdown();的原因是,Shutdown关闭程序在进程管理器里进程的释放有延迟不是马上关闭进程的12 //Application.Current.Shutdown();13 return;14 }15 16 17 }18 base.OnStartup(e);19 }
转载地址:http://pnujl.baihongyu.com/