码迷,mamicode.com
首页 > Windows程序 > 详细

C#应用程序进程启动和关闭

时间:2017-05-05 17:10:41      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:nts   tin   inf   启动   ==   var   esb   processes   .exe   

有时候有种需求,一个进程只启动一个,且必须启动一个。

可以创建一个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     }

 

C#应用程序进程启动和关闭

标签:nts   tin   inf   启动   ==   var   esb   processes   .exe   

原文地址:http://www.cnblogs.com/zhangfeng1993/p/6813662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!