gpt4 book ai didi

c# - "Access is denied"试图获取进程开始时间

转载 作者:行者123 更新时间:2023-12-05 03:03:21 25 4
gpt4 key购买 nike

现在我正在尝试获取计算机上运行的所有进程的开始时间。到目前为止我拥有的代码是这样的:

foreach (Process item in Process.GetProcesses())
txtActivity.AppendText(item.StartTime.ToString());

问题是我遇到了这个错误:

System.ComponentModel.Win32Exception: 'Access is denied'

到目前为止,我所看到的有关如何修复此错误的所有内容都没有帮助。我试过使用管理员访问权限运行它但没有用,所有其他建议的方法都在线程上,如 this一个要么不工作,要么不可能在我的机器上执行。感谢对这个问题的任何新帮助。

最佳答案

有些进程似乎是这样的,但我不知 Prop 体原因。您可以通过将代码包装在 try/catch 中来找出哪些进程在执行此操作,这样您就可以查看抛出异常的进程的名称。

例如

private static void Main()
{
foreach (Process item in Process.GetProcesses())
{
try
{
Console.WriteLine($"{item.ProcessName} started at: {item.StartTime}");
}
catch(Exception e)
{
WriteColoredLine($"{e.Message}: {item.ProcessName}", ConsoleColor.Red);
}
}

GetKeyFromUser("Done! Press any key to exit...");
}

private static void WriteColoredLine(string message, ConsoleColor color)
{
Console.ForegroundColor = color;
Console.WriteLine(message);
Console.ResetColor();
}

示例输出

enter image description here

关于c# - "Access is denied"试图获取进程开始时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54155985/

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