如何杀死Windows Mobile中的进程?

时间:2009-11-02 08:49:08

标签: c# windows-mobile

Windows Forms应用程序中,我杀了这样一个进程:

    Process[] ps = Process.GetProcessesByName("DataWedge");
    foreach (Process p in ps)
        p.Kill();

如何在Windows Mobile操作系统中执行此操作?

(此示例在Windows Mobile上不起作用。)

3 个答案:

答案 0 :(得分:2)

由于上面的文章不再存在,我使用Wayback Machine让article使用代码。下面是如何使用文章中的代码枚举进程并杀死你想要的进程:

List<ProcEntry> processes = new List<ProcEntry>();
ProcessEnumerator.Enumerate(ref processes);

foreach (ProcEntry proc in processes)
{
    if (proc.ExeName == "DataWedge.exe")
    {
        ProcessEnumerator.KillProcess(proc.ID);
    }
}

答案 1 :(得分:1)

您需要枚举设备上运行的进程以获取进程ID。一旦你获得了processId,你就可以做到:

Process process Process.GetProcessById(processId);
process.Kill();

这是一个article来处理枚举过程,它还包括一个kill示例。

答案 2 :(得分:0)

此代码中有一个错误,使其始终返回一个空列表。
首先,添加此常量:

private const uint TH32CS_SNAPNOHEAPS = 0x40000000;

然后这样称呼它:

IntPtr snapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS | TH32CS_SNAPNOHEAPS, 0 );