Windows CE。如何按名称杀死进程?

时间:2013-05-13 14:04:03

标签: c# process windows-ce kill

我正在寻找一种在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

1 个答案:

答案 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();
        }