C#應用程序進程啟動和關閉


有時候有種需求,一個進程只啟動一個,且必須啟動一個。

可以創建一個Windows服務,定時執行。每次執行時查詢該應用程序進程的數量,如果沒有,則啟動一個,如果已啟動多個,則只留一個

廢話不多說,上代碼:

 1  public class Class1
 2     {
 3        public void Main()
 4        {
 5            var obj=System.Diagnostics.Process.GetProcessesByName("Calc").ToList();
 6            if (obj.Count == 0)
 7                StartProcess();
 8            else if (obj.Count == 1)
 9                SystemLog.WriteLogLine("只有一個進程啟動,無需操作");
10            else
11                KillProcess();
12                StartProcess();
13        }
14 
15        public void StartProcess()
16        {
17            ProcessStartInfo info = new ProcessStartInfo();
18            info.FileName = @"D:\Calc.exe";
19            info.Arguments = "";
20            info.WindowStyle = ProcessWindowStyle.Minimized;
21            Process pro = Process.Start(info);
22            // pro.WaitForExit();  
23        }
24        public void KillProcess()
25        {
26            Process current = Process.GetCurrentProcess();
27            Process[] processes = Process.GetProcessesByName("Calc");
28            foreach (Process process in processes)
29            {
30                if (process.ProcessName == "Calc")
31                    process.Kill();
32            }   
33        }
34     }

 


免責聲明!

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



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