我有一个代码(在 c# 中)用于管理我的计算机中的所有进程。
我使用PerformanceCounter类来查找在一个特定进程中链接的所有值。
例如,此代码检索了 Firefox 的处理器时间使用:
PerformanceCounter processorTime = new PerformanceCounter("Process", "% Processor Time", "firefox");
double processTime = 0;
while(true){
processTime = processorTime.NextValue();
}
另外,我知道如何检索我的电池百分比:
PowerStatus power = SystemInformation.PowerStatus;
float secondsRemaining = power.BatteryLifePercent;
if (secondsRemaining >= 0)
{
kpiBattery.batteryLevel = (secondsRemaining * 100).ToString();
}
我想按过程而不是全局获得使用电池。
例如,在使用“firefox”的过程中,使用了多少电池?
我知道我想在进程启动和进程被终止时获取电池电量,并有所作为,但是,这不是真正的电池使用水平,因为在开始和结束时间进程之间,可能还有很多其他进程正在运行,并且也消耗电池。
如果您有任何想法,或者您知道解决方案,我很感兴趣。
谢谢。