按进程获取电池使用情况

2023-12-04

我有一个代码(在 C# 中)用于管理在我的计算机中启动的所有进程。

我用性能计数器用于查找在一个特定进程中链接的所有值的类。

例如,此代码检索了 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”的过程中,使用了多少块电池?

我知道我想在进程启动和进程被终止时获取电池电量,并产生差异,但是,这不是真正的电池使用水平,因为在开始和结束时间进程之间,可能有很多其他进程正在运行,并且也消耗电池。

如果您有任何想法,或者您知道解决方案,我非常感兴趣。

Thanks.


正如您已经说过的,许多进程可以同时运行。而且,电池使用率与CPU使用率没有直接关系。它可能是 HDD 活动、图形芯片等。因此,无法计算每个进程的充足电池使用量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按进程获取电池使用情况 的相关文章

随机推荐