Los datos a los que hace referencia están disponibles mediante llamadas específicas WMI. Puede consultar Win32_Process para obtener todo tipo de información específica del proceso, y consultar Win32_PerfFormattedData_PerfProc_Process para obtener el conteo de hilos, y darle un control a un hilo (lo que creo que está buscando) puede consultar Win32_PerfRawData_PerfProc_Thread para obtener el porcentaje del tiempo de procesador utilizado.
Hay un library available for Delphi que proporciona envoltorios para la mayoría de las consultas de WMI, sin embargo, tomará un poco de experimentación para obtener la consulta exacta que busca. La sintaxis de la consulta es muy SQL como, por ejemplo, en mi sistema para devolver el porcentaje de tiempo de procesador para threadid 8, para el identificador de proceso 4 es:
SELECT PercentProcessorTime FROM Win32_PerfRawData_PerfProc_Thread
WHERE IdProcess=4 and IdThread=8
La mayoría de los programas que presentan la información estadística sobre los procesos en ejecución utilizan ahora WMI para consultar esta información.
Pero esto solo le da el tiempo de ejecución del hilo, no el porcentaje de uso de la CPU. También puede obtener el tiempo total de las llamadas WMI junto con el porcentaje en una sola consulta. – skamradt
Creo que se puede inferir la cantidad de uso de la CPU al sondear cada segundo y, si su "núcleo + tiempo de uso" aumenta en 1,0, eso implica que utilizó el 100% de un núcleo para ese segundo, ¿sí? – rogerdpack