Obtener % de uso de CPU

Quisiera obtener el % de CPU que un proceso determinado usa en el sistema. Se que la librería PDH permite obtener cantidad de contadores con información sobre procesos en el sistema. Pero quisiera saber si alguien conoce alguna API más sencilla o algún otro modo de obtener el tanto por ciento de CPU de un proceso en concreto.

1 Respuesta

Respuesta
1
La única forma que se me ocurre para tu problema es obtener los recursos libres antes de inciar el proceso y luego restarle cuando se carga el proceso en memoria.
Hace poco vi un tutorial que explicaba como obtener el tamaño de un determinado objeto en memoria (Dll, Exe) ya cargado, pero no solo no funcionaba sino que te colgaba todo.
No conozco una forma directa de hacer lo que pedís, pero todo es posible en VB...
Suerte
.: Gydba :.
He podido obtener la cantidad de memoria que ocupa el proceso, esto si funciona bien y se hace con GetProcessMemoryInfo, pero no se como obtener el % de CPU que se ve en el Monitor de Procesos cuando haces Ctrl+Alt+Supr
Esa es la api a la que yo me refería, el típico ejemplo que aparece en todos lados es el de AllApi o el msdn OnLine, sin embargo no pareció tan robusto su desempeño. Pero yendo al punto del cpu, estuve buscando en internet bastante y no encontré más que preguntas. En una web decían que una forma de obtener el uso del cpu por un determinado proceso era obteniendo una clave del registro (pero no aclaraba nada más que eso). Encontré un ejemplo muy bueno de un visor de procesos:
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=14899&lngWId=1
O este también pero solo es para obtener cierta info
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=13224&lngWId=1
Algunas apis de NT y/o XP no están en los SO comunes como win 98/me, también puede ser que las apis que usan para hacer el cuadro de diálogo que nombrás no este documentada.
PD: Espero que tengas suerte, más que esto no creo que te pueda ayudar (si se le puede decir a esto ayuda), no te desanimes, de ultima alguna dll u ocx dando vueltas debe haber.
Suerte
.: Gydba :.
Mirare los ejemplos que me mandaste
Gracias
Espero que puedas solucionar tu problema.
Suerte
.: Gydba :.
Aquí esta la solución!
http://gethelp.devx.com/techtips/nt_pro/10_minute_solutions/10minNT0502/10minNT0502-3.asp
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas