Enumeração de processo
Todos os usuários têm acesso de leitura à lista de processos no sistema e há várias funções diferentes que enumeram os processos ativos. A função que você deve usar dependerá de fatores como o suporte desejado à plataforma.
As funções a seguir são usadas para enumerar processos.
Função | Descrição |
---|---|
EnumProcesses | Recupera o identificador de processo para cada objeto de processo no sistema. |
Process32First | Recupera informações sobre o primeiro processo encontrado em um sistema instantâneo. |
Process32Next | Recupera informações sobre o próximo processo registrado em um instantâneo do sistema. |
WTSEnumerateProcesses | Recupera informações sobre os processos ativos no servidor de terminal especificado. |
As funções toolhelp e EnumProcesses enumeram todo o processo. Para listar os processos em execução em uma conta de usuário específica, use WTSEnumerateProcesses e filtre no SID do usuário. Você pode filtrar a ID da sessão para ocultar processos em execução em outras sessões de servidor de terminal.
Você também pode filtrar processos por conta de usuário, independentemente da função de enumeração, chamando OpenProcess, OpenProcessToken e GetTokenInformation com TokenUser. No entanto, você não pode abrir um processo protegido por um descritor de segurança, a menos que tenha recebido acesso.