É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é.