Comment puis-je obtenir le nom du compte d'utilisateur qui a exécuté le processus avec l'ID spécifié? Y a-t-il une fonction api pour ça? J'utilise Windows, C++.Détection du nom d'utilisateur à partir de l'ID de processus
Répondre
Il n'y a pas de fonction API qui le fait directement, mais vous pouvez combiner quelques appels API pour ce faire. Bien sûr, votre programme devra satisfaire toutes les listes de contrôle d'accès qui sont appliquées au processus que vous souhaitez examiner. Tout d'abord, étant donné l'ID du processus, vous devez ouvrir un handle pour le processus. Vous pouvez utiliser OpenProcess
pour cela, en demandant le droit d'accès PROCESS_QUERY_INFORMATION
.
Une fois que vous avez ce handle, vous pouvez appeler OpenProcessToken
, en demandant le droit d'accès TOKEN_QUERY
.
Enfin, vous pouvez ensuite appeler GetTokenInformation
, en demandant la classe d'information TokenUser
, qui vous donnera le compte d'utilisateur du jeton. Cette information vous est fournie sous la forme d'un SID
. Pour convertir le SID
au nom réel du compte, vous pouvez appeler le LookupAccountSid
. N'oubliez pas d'appeler le CloseHandle
à la fois sur la poignée de processus et sur la poignée de jetons une fois que vous en avez terminé avec eux.
- 1. Détection de gouttes à partir du même processus
- 2. Win32API - Comment obtenir le nom de fichier du processus à partir du handle de processus?
- 3. Détection de la fin du processus client à partir du serveur COM EXE
- 4. obtenir le nom du processus de l'ID de processus (win32)
- 5. Comment puis-je trouver l'ID de processus à partir du nom de service/handle dans Delphi?
- 6. Nom du processus de script Bash regex
- 7. Récupère le titre du programme à partir du nom du processus en C#
- 8. Comment installer le Lingua :: Lid de Perl?
- 9. Détection/contrôle d'un processus
- 10. Détection du conteneur IE à partir du contrôle ActiveX
- 11. killall sur le processus du même nom
- 12. Démarrer le processus à partir du flux
- 13. Détection des processus à l'aide de l'audio sous Windows
- 14. C# Détection des processus engendrés
- 15. Détection de la mort du processus engendré à l'aide de la fenêtre CRT
- 16. Taille du processus dans XP à partir de Python
- 17. Obtenir le nom de l'instance de compteur de performance (w3wp # XX) à partir de ASP.NET ID du processus de travail
- 18. Obtention du nom d'affichage de l'utilisateur à partir de WindowsIdentity
- 19. Création de répertoires à partir du nom de fichier?
- 20. Dérivation d'une ressource à partir du nom du contrôleur - plugins?
- 21. Modifier le nom du processus en C#?
- 22. définir le nom du processus dans mod_wsgi
- 23. Détermination de l'ID de processus parent à partir de C#
- 24. Recherche du nom du contact Android à partir du numéro
- 25. Obtention du fichier .java à partir du nom du package
- 26. Modification du nom du processus du script Python
- 27. Détermination du nom de fichier (ouvert) à partir d'un fichier *
- 28. Trouver des sites Web à partir du nom de l'entreprise
- 29. Créer EntitySet à partir du nom de la chaîne?
- 30. Résoudre le nom de classe à partir du bytecode