Enumeración de procesos

Todos los usuarios tienen acceso de lectura a la lista de procesos del sistema y hay una serie de funciones diferentes que enumeran los procesos activos. La función que debe usar dependerá de factores como la compatibilidad con la plataforma deseada.

Las funciones siguientes se usan para enumerar procesos.

Función Descripción
EnumProcesses Recupera el identificador de proceso de cada objeto de proceso del sistema.
Process32First Recupera información sobre el primer proceso encontrado en una instantánea del sistema.
Process32Next Recupera información sobre el siguiente proceso registrado en una instantánea del sistema.
WTSEnumerateProcesses Recupera información sobre los procesos activos en el servidor de terminal especificado.

 

Las funciones toolhelp y EnumProcesses enumeran todo el proceso. Para enumerar los procesos que se ejecutan en una cuenta de usuario específica, use WTSEnumerateProcesses y filtre por el SID de usuario. Puede filtrar por el identificador de sesión para ocultar los procesos que se ejecutan en otras sesiones de terminal Server.

También puede filtrar los procesos por cuenta de usuario, independientemente de la función de enumeración, llamando a OpenProcess, OpenProcessToken y GetTokenInformation con TokenUser. Sin embargo, no se puede abrir un proceso protegido por un descriptor de seguridad a menos que se le haya concedido acceso.