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