我的想法是否正确,如果一个程序以用户身份运行,并且该程序尝试杀死由同一用户启动的另一个进程,这会成功吗?并且用户需要位于管理员组中才能终止任何其他进程(包括 SYSTEM 等)?
我错过了什么吗?我是错还是对?
最佳答案
这些文章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);
}
关于c# - Process.Kill() 需要什么权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12408612/