2010-07-03 7 views

Répondre

12

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.

Questions connexes