C# 查找、結束進程 - 經過進程名精確、模糊查找、結束進程

  1 /// <summary>
  2         /// 根據「精確進程名」結束進程
  3         /// </summary>
  4         /// <param name="strProcName">精確進程名</param>
  5         public void KillProc(string strProcName)
  6         {
  7             try
  8             {
  9                 //精確進程名  用GetProcessesByName
 10                 foreach (Process p in Process.GetProcessesByName(strProcName))
 11                 {
 12                     if (!p.CloseMainWindow())
 13                     {
 14                         p.Kill();
 15                     }
 16                 }
 17             }
 18             catch
 19             {
 20 
 21             }
 22         }
 23         /// <summary>
 24         /// 根據 模糊進程名 結束進程
 25         /// </summary>
 26         /// <param name="strProcName">模糊進程名</param>
 27         public void KillProcA(string strProcName)
 28         {
 29             try
 30             {
 31                 //模糊進程名  枚舉
 32                 //Process[] ps = Process.GetProcesses();  //進程集合
 33                 foreach (Process p in Process.GetProcesses())
 34                 {
 35                     Console.WriteLine(p.ProcessName + p.Id);
 36 
 37                     if (p.ProcessName.IndexOf(strProcName) > -1)  //第一個字符匹配的話爲0,這與VB不一樣
 38                     {
 39                         if (!p.CloseMainWindow())
 40                         {
 41                             p.Kill();
 42                         }
 43                     }
 44                 }
 45             }
 46             catch
 47             {
 48 
 49             }
 50         }
 51 
 52 
 53         /// <summary>
 54         /// 判斷是否包含此字串的進程   模糊
 55         /// </summary>
 56         /// <param name="strProcName">進程字符串</param>
 57         /// <returns>是否包含</returns>
 58         public bool SearchProcA(string strProcName)
 59         {
 60             try
 61             {
 62                 //模糊進程名  枚舉
 63                 //Process[] ps = Process.GetProcesses();  //進程集合
 64                 foreach (Process p in Process.GetProcesses())
 65                 {
 66                     Console.WriteLine(p.ProcessName + p.Id);
 67 
 68                     if (p.ProcessName.IndexOf(strProcName) > -1)  //第一個字符匹配的話爲0,這與VB不一樣
 69                     {
 70                         return true;
 71                     }
 72                 }
 73                 return false;
 74             }
 75             catch
 76             {
 77                 return false;
 78             }
 79         }
 80 
 81 
 82         /// <summary>
 83         /// 判斷是否存在進程  精確
 84         /// </summary>
 85         /// <param name="strProcName">精確進程名</param>
 86         /// <returns>是否包含</returns>
 87         public bool SearchProc(string strProcName)
 88         {
 89             try
 90             {
 91                 //精確進程名  用GetProcessesByName
 92                 Process[] ps = Process.GetProcessesByName(strProcName);
 93                 if (ps.Length > 0)
 94                 {
 95                     return true;
 96                 }
 97                 else
 98                 {
 99                     return false;
100                 }
101             }
102             catch
103             {
104                 return false;
105             }
106         }

直接調用方法,以下所示:spa

1     string strProcName = "QQ";
2     KillProcA(strProcName);

轉自:http://blog.csdn.net/xrongzhen/article/details/5838690.net

相關文章
相關標籤/搜索