Obter o uso da bateria por processo

Eu tenho um código (em c #) para gerenciar todo o processo armazenado no meu computador.

Eu uso oPerformanceCounter class para encontrar todos os valores vinculados em um processo específico.

Por exemplo, este código recuperou o uso do Tempo do Processador para o firefox:

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

double processTime = 0;

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

Além disso, sei como recuperar a porcentagem da minha bateria:

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

Eu quero pegar o uso da bateria por processo, e não global.

Por exemplo, durante o processo "firefox" é usado, quem muitos bateria estava usando?

Eu sei que quero ter nível de bateria quando o processo foi iniciado e quando o processo foi morto, e fazer a diferença, mas, não é verdadeiro uso da bateria nível, bacause, entre o processo de início e fim do tempo, talvez muito outro processo estava em execução e consome bateria também.

Se você tem alguma ideia, ou se conhece a solução, estou muito interessado.

Obrigado.