2013-05-13 120 views
1

進出口尋找一種方式來殺死使用C#的WindowsCE上Windows CE。如何按名稱殺死進程?

的.NET Compact Framework的可是沒有它只有.GetProcessById()方法Process.GetProcessByName()方法,通過名稱的進程。

但我不知道如何找出我正在運行的進程的進程ID。

我在想我可以循環所有的進程ID,但是這太可怕了,因爲我不知道進程ID的最大數量。任何人都知道更好的方法?

 for (int i = 1; i < 40000; i++) 
     { 
      Process prs = Process.GetProcessById(i); 

      if (prs.StartInfo.FileName == "MyExe.exe") 
      { 
       prs.Kill(); 
      } 

      prs.Dispose(); 
     } 

編輯:我找到了解決我的問題。一個codeproject鏈接。 http://www.codeproject.com/Articles/36841/Compact-Framework-Process-class-that-supports-full

+0

這可能是重複..看看這個http://stackoverflow.com/questions/7307998/how-to-kill-process-in-windows-ce-(一個人鏈接到http://msdn.microsoft.com/en-us/library/aa446560.aspx) – gordatron 2013-05-13 14:06:41

+0

一個更好的選擇是隻使用['Process.GetProcesses()'](http://msdn.microsoft .com/en-us/library/1f3ys1f9.aspx)並循環瀏覽。 – 2013-05-13 14:08:11

+0

@DanielHilgarth該方法在.Net Compact Framework中不可用 – CathalMF 2013-05-13 14:17:15

回答