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

Cat*_*lMF 1 c# kill process windows-ce

我正在寻找一种方法来使用Windows上的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();
        }
Run Code Online (Sandbox Code Playgroud)

编辑:我找到了解决问题的方法.代码项目链接. http://www.codeproject.com/Articles/36841/Compact-Framework-Process-class-that-supports-full

Cat*_*lMF 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();
        }
Run Code Online (Sandbox Code Playgroud)