Наверное, как-то так. Написал это в блокноте, так что может быть не так. Но вы поняли.
HANDLE hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwPID );
MODULEENTRY32 me32 = {0};
me32.dwSize = sizeof(MODULEENTRY32);
Module32First( hSnapshot, &me32 );
do {
...
} while( Module32Next( hSnapshot, &me32 ) );
CloseHandle( hSnapshot );