Process.Kill()需要什么权限?

时间:2012-09-13 14:29:26

标签: c# .net windows permissions

我是否正确地认为如果程序作为用户运行,并且程序试图杀死同一用户启动的另一个进程,这会成功吗?并且用户需要在Administrators组中杀死任何其他进程(包括SYSTEM等)?

我错过了什么吗?我错了/对吗?

1 个答案:

答案 0 :(得分:2)

这些文章Permissions for Process.Kill()Tip 13 : Kill a process using C#, from local to remote我肯定会帮助您测试您的假设。

**编辑**

这些文章中的重要信息如下(如果链接断开):

using System.Management;
using System.Management.Instrumentation;

ManagementScope scope = new ManagementScope("\\\\RemoteMachineName\\root\\cimv2");
scope.Connect();

ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Process WHERE Name='ProcessName'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

ManagementObjectCollection objectCollection = searcher.Get();
foreach(ManagementObject managementObject in objectCollection)
{
   managementObject.InvokeMethod("Terminate", null);
}