Obtener el uso de la batería por proceso

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

Yo uso el Contador de rendimiento clase para encontrar todos los valores vinculados en un proceso específico.

Como muestra, este código recuperó el uso del tiempo del procesador 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.

Por ejemplo, durante el proceso de uso de "Firefox", ¿cuántas baterías estaban usando?

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 nivel real de uso de la batería, porque, entre el inicio y el final del proceso, tal vez muchos otros procesos se estaban ejecutando, y tambien consume bateria.

Si tienes alguna idea, o si conoces la solución, me interesa mucho.

Gracias.

preguntado el 31 de julio de 12 a las 11:07

Esto no es realmente posible sin estimaciones porque el sistema operativo no puede preguntar a la placa base cuál era el nivel de la batería en cada cambio de contexto como lo hace por tiempo. -

1 Respuestas

Como ya ha dicho, muchos procesos podrían estar ejecutándose simultáneamente. Además, el uso de la batería no está directamente relacionado con el uso de la CPU. Podría ser la actividad del disco duro, el chip gráfico, etc. Por lo tanto, no hay forma de calcular un uso adecuado de la batería por proceso.

Respondido 31 Jul 12, 11:07

OK, gracias por explicar, es una pena :'( - Doc Roms

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.