我正在寻找一种在WindowsCE上使用C#按名称杀死进程的方法
.NET Compact Framework没有Process.GetProcessByName()方法,它只有一个.GetProcessById()方法。
但我不知道如何弄清楚我正在运行的进程的进程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();
}
编辑:我找到了解决问题的方法。代码项目链接。 http://www.codeproject.com/Articles/36841/Compact-Framework-Process-class-that-supports-full
答案 0 :(得分:5)
我找到了一个Code Project类,它完全符合我的需要。 我发布它作为这个项目的答案。
http://www.codeproject.com/Articles/36841/Compact-Framework-Process-class-that-supports-full
ProcessInfo[] list = ProcessCE.GetProcesses();
foreach (ProcessInfo pinfo in list)
{
if (pinfo.FullPath.EndsWith("MyExe.exe"))
pinfo.Kill();
}