Partager via


Énumération de processus

Tous les utilisateurs ont accès en lecture à la liste des processus dans le système et il existe plusieurs fonctions différentes qui énumèrent les processus actifs. La fonction que vous devez utiliser dépend de facteurs tels que la prise en charge de la plateforme souhaitée.

Les fonctions suivantes sont utilisées pour énumérer les processus.

Fonction Description
EnumProcesses Récupère l’identificateur de processus pour chaque objet de processus dans le système.
Process32First Récupère des informations sur le premier processus rencontré dans un instantané système.
Process32Next Récupère des informations sur le processus suivant enregistré dans un instantané système.
WTSEnumerateProcesses Récupère des informations sur les processus actifs sur le serveur terminal spécifié.

 

Les fonctions toolhelp et EnumProcesses énumérer tout le processus. Pour répertorier les processus en cours d’exécution dans un compte d’utilisateur spécifique, utilisez WTSEnumerateProcesses et filtrez sur le SID utilisateur. Vous pouvez filtrer sur l’ID de session pour masquer les processus en cours d’exécution dans d’autres sessions de serveur terminal.

Vous pouvez également filtrer les processus par compte d’utilisateur, quelle que soit la fonction d’énumération, en appelant OpenProcess, OpenProcessTokenet GetTokenInformation avec TokenUser. Toutefois, vous ne pouvez pas ouvrir un processus protégé par un descripteur de sécurité, sauf si vous avez reçu l’accès.