по-моему CreateToolhelp32Snapshot загрузку проца отдельным процессом/тредом не показывает? Возможно я ошибаюсь, если да - подскажите как ЭТО можно сделать???
очевидно, надо анализировать ThreadTimes для каждого потока и выявлять наиболее "прожорливый". Реализовать это можно, например, с использованием NtQueryInformationThread и анализировать структуру: typedef struct _THREAD_TIMES_INFORMATION { LARGE_INTEGER CreationTime; LARGE_INTEGER ExitTime; LARGE_INTEGER KernelTime; LARGE_INTEGER UserTime; } THREAD_TIMES_INFORMATION, *PTHREAD_TIMES_INFORMATION;