C# 如何根据进程ID而不是进程名称获取CPU使用率
我有一个应用程序,它启动了一个java进程的新实例。 除了进程ID之外,没有其他方法可以区分我的PC上运行的不同java进程。 还有,假设我只是把名字放进去,如果这个过程,它会得到一个随机的,结果就是不好,如果我把申请发送给我的朋友,那么这个过程会不同。那太糟糕了 因此,我一直在研究如何根据特定的进程ID获取CPU使用率。 虽然我不知道如何做到这一点,但我已经研究了C# 如何根据进程ID而不是进程名称获取CPU使用率,c#,.net,process,performancecounter,C#,.net,Process,Performancecounter,我有一个应用程序,它启动了一个java进程的新实例。 除了进程ID之外,没有其他方法可以区分我的PC上运行的不同java进程。 还有,假设我只是把名字放进去,如果这个过程,它会得到一个随机的,结果就是不好,如果我把申请发送给我的朋友,那么这个过程会不同。那太糟糕了 因此,我一直在研究如何根据特定的进程ID获取CPU使用率。 虽然我不知道如何做到这一点,但我已经研究了性能计数器类,但它似乎没有将进程ID作为其参数之一 如何在给定特定进程ID的情况下正确评估CPU使用情况?这可能会有所帮助 publ
性能计数器
类,但它似乎没有将进程ID作为其参数之一
如何在给定特定进程ID的情况下正确评估CPU使用情况?这可能会有所帮助
public static string GetProcessInstanceName(int PID)
{
PerformanceCounterCategory cat = new
PerformanceCounterCategory("Process");
var[] instances = cat.GetInstanceNames();
foreach (var instance in instances)
{
using (PerformanceCounter cnt = new
PerformanceCounter("Process", "ID Process", instance,
true))
{
int val = System.Convert.ToInt32(cnt.RawValue);
if (val == PID)
return instance;
}
}
}