Process.Kill()访问被拒绝

Ezz*_*zzy 21 .net c# kill process

当我运行以下代码时,将拒绝访问拒绝的Win32Exception.我无法通过搜索找到任何解决方案.我该如何解决?

foreach (ListViewItem list in showprocesses.SelectedItems)
{
    Process p = System.Diagnostics.Process.GetProcessById(Convert.ToInt32(list.Tag));
    if (p != null)
        p.Kill();
}
Run Code Online (Sandbox Code Playgroud)

Jas*_*son 13

如果您没有必要的权限,通常会收到此错误.您必须是管理员,并在win vista及更高版本中,以提升模式运行您的应用程序/进程.此外,有一些进程,即使作为管理员你将无法杀死,一些被认为是系统关键等,你可能需要作为系统运行,然后有那些甚至系统无法杀死,如防病毒或者是实际的病毒,因为他们不希望你杀死他们的进程

另一种可能性是,如果进程已经终止,它也会抛出该异常,请参阅MSDN