2013-05-13 124 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

回答