La forma de hacer una lista de threads de un proceso PID, es esta:
Código:
HANDLE hThreadSnap = INVALID_HANDLE_VALUE;
THREADENTRY32 te32 = {sizeof(te32)};
hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );
if(hThreadSnap != INVALID_HANDLE_VALUE && Thread32First( hThreadSnap, &te32)){
do{
if(te32.th32OwnerProcessID == PID) // Si el hilo corresponde con el ID del proceso que me interesa...
{
te32.th32ThreadID; // aquí están los ThreadID encontrados
}
}while(Thread32Next(hThreadSnap, &te32 ) );
}
CloseHandle( hThreadSnap );
Lo siguiente será abrir el hilo
OpenThread con el ID encontrado y realizar lo que pretendes con él.
Saludos.