WPF 啟動唯一程序(項目,exe,實例)


描述:用戶多次快速開啟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         }


最后說一句,,,,,,WPF的 資源釋放托管 實在太爛了  各種內存泄漏問題 (#‵′)凸 還得自己寫資源釋放


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM