Enumeração de processos
Todos os usuários têm acesso de leitura à lista de processos no sistema e há uma série de funções diferentes que enumeram os processos ativos. A função que você deve usar dependerá de fatores como o suporte à plataforma desejada.
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. |
Process32Primeira | Recupera informações sobre o primeiro processo encontrado em um instantâneo do sistema. |
Process32Próximo | 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 todos os processos. Para listar os processos que estão sendo executados em uma conta de usuário específica, use WTSEnumerateProcesses e filtre no SID do usuário. Você pode filtrar o ID da sessão para ocultar processos em execução em outras sessões do servidor de terminal.
Você também pode filtrar processos por conta de usuário, independentemente da função de enumeração, chamando OpenProcess, OpenProcessTokene GetTokenInformation com TokenUser. No entanto, não é possível abrir um processo protegido por um descritor de segurança, a menos que lhe tenha sido concedido acesso.