gpt4 book ai didi

c# - Win32 异常 : "Access is denied" when trying to execute LINQ query over Process. GetProcesses()

转载 作者:太空宇宙 更新时间:2023-11-03 21:30:36 25 4
gpt4 key购买 nike

我正在尝试执行以下代码以按优先级对正在运行的进程进行分组,但在 linq 查询的 group by 子句中出现 Win32 异常(“访问被拒绝”)。我以管理员权限在 VS2010 中运行了这段代码。

var processesList = Process.GetProcesses();
var processQuerySet = from process in processesList
group process by process.PriorityClass into priorityGroup
select priorityGroup;
foreach (var priority in processQuerySet)
{
Console.WriteLine(priority.Key.ToString());
foreach (var process in priority)
{
Console.WriteLine("\t{0} {1}", process.ProcessName, process.WorkingSet64);
}
}

最佳答案

您不能访问所有进程的 PriorityClass。我会写

ProcessPriorityClass GetPriority(Process p)
{
try{
return p.PriorityClass;
}catch{
return (ProcessPriorityClass)0;
}
}

并将其命名为

group process by GetPriority(process) into priorityGroup

关于c# - Win32 异常 : "Access is denied" when trying to execute LINQ query over Process. GetProcesses(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24477452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com