为什么GetProcesses()不能显示所有正在运行的进程

时间:2019-10-26 17:07:49

标签: c# winforms taskmanager

当我运行以下代码时,我希望获得系统中正在运行的所有进程的名称,但是在我的其他PC上,在TaskManager中有一个正在运行的进程,但我的应用程序未显示它,我想知道我是在做错什么还是有什么办法解决这个问题,顺便说一句,我的应用程序以管理员身份运行,所以这不是问题。感谢您的帮助。

foreach(Process Proc in Process.GetProcesses()) {
    T += Proc.ProcessName + ", ";
}

2 个答案:

答案 0 :(得分:0)

Process.GetProcesses()不返回系统进程。服务也可能显示为svhost.exe。

答案 1 :(得分:0)

可以在服务主机进程(svchost.exe)的同一实例中加载多个OS服务。 GetProcesses不能识别那些单独的服务;为此,请使用GetServices。请务必阅读official docs