Partager via


Énumération de processus

Tous les utilisateurs ont un accès en lecture à la liste des processus dans le système et il existe un certain nombre de 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 Server spécifié.

 

Les fonctions toolhelp et EnumProcesses énumèrent tous les 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 Terminal Server.

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