Obtener el uso de la batería por proceso

Tengo un código (en c #) para todos los procesos administrados en mi computadora.

Yo uso elPerformanceCounter clase para encontrar todos los valores vinculados en un proceso específico.

Para muestra, este código recuperó el uso de Processor Time para Firefox:

PerformanceCounter processorTime = new PerformanceCounter("Process", "% Processor Time", "firefox");

double processTime = 0;

while(true){
    processTime = processorTime.NextValue();
}

Además, sé cómo recuperar el porcentaje de mi batería:

PowerStatus power = SystemInformation.PowerStatus;
float secondsRemaining = power.BatteryLifePercent;
if (secondsRemaining >= 0)
{
    kpiBattery.batteryLevel = (secondsRemaining * 100).ToString();
}

Quiero obtener la batería de uso POR PROCESO, y no global.

Para muestra, durante el proceso de "firefox" es el uso, ¿quién usaba mucha batería?

SÉ que quiero obtener el nivel de la batería cuando se inició el proceso y cuándo se eliminó el proceso, y hacer la diferencia, pero NO es el uso verdadero de la batería, ya que entre el proceso de inicio y finalización, tal vez se estaba ejecutando otro proceso. consume batería también.

Si tienes alguna idea, o si sabes la solución, estoy muy interesado.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta