ibcadmin 发表于 2013-3-8 13:31:28

C#开启关闭一个进程

在C#中如何开启或关闭一个进程。

以前关闭进程的方式,通常采用bat文件的方式。现在通过采用另外一种方式关闭进程。关闭进程主要思路:遍历所有进程,根据进程名称,找出需要关闭的进程。开启进程主要思路:通过递归的方式找出文件夹中所有的exe文件,并且开启。其主要代码如下:
#region 方法
         /// <summary>
         /// 关闭应用程序
         /// </summary>
         /// <param name="ArrayProcessName">应用程序名之间用‘,’分开</param>
         private void CloseApp(string ArrayProcessName)
         {
             string[] processName = ArrayProcessName.Split(',');
             foreach (string appName in processName)
             {
               Process[] localByNameApp = Process.GetProcessesByName(appName);//获取程序名的所有进程
               if (localByNameApp.Length > 0)
               {
                     foreach (var app in localByNameApp)
                     {
                         if (!app.HasExited)
                         {
                           app.Kill();//关闭进程
                         }
                     }
               }
             }
         }

         /// <summary>
         /// 开启进程
         /// </summary>
         /// <param name="ArrayFolderPath">需要开启进程文件夹的路径,多个路径用‘,’隔开;eg:d:\test,e:\temp</param>
         private void StartApp(string ArrayFolderPath)
         {
             string[] foldersNamePath = ArrayFolderPath.Split(',');
             foreach (string folderNamePath in foldersNamePath)
             {
               GetFolderApp(folderNamePath);
             }
         }

         /// <summary>
         /// 递归遍历文件夹内所有的exe文件,此方法可以进一步扩展为其它的后缀文件
         /// </summary>
         /// <param name="folderNamePath">文件夹路径</param>
         private void GetFolderApp(string folderNamePath)
         {
             string[] foldersPath = Directory.GetDirectories(folderNamePath);
             foreach (string folderPath in foldersPath)
             {
               GetFolderApp(folderPath);
             }

             string[] filesPath = Directory.GetFiles(folderNamePath);
             foreach (string filePath in filesPath)
             {
               FileInfo fileInfo = new FileInfo(filePath);

               //开启后缀为exe的文件
               if (fileInfo.Extension.Equals(".exe"))
               {
                     Process.Start(filePath);
               }
             }

         }
         #endregion
winform的界面如下:http://pic002.cnblogs.com/images/2011/303900/2011100914001841.jpg

转载网友




ibcadmin 发表于 2013-3-8 13:33:25

我暂时也没时间弄自己的教程了。这些都是转载网络的

chao2332601 发表于 2013-6-15 23:57:14

谢谢分享!!!

chao2332601 发表于 2013-6-16 01:04:24

谢谢分享!!!
页: [1]
查看完整版本: C#开启关闭一个进程