73 votes

Comment obtenir le handle d'un processus par son nom en C++ ?

J'essaie d'obtenir le gestionnaire de processus de, disons exemple.exe, afin que je puisse appeler TerminateProcess sur elle. Comment puis-je faire ça ? Remarquez qu'il n'y a pas de fenêtre, donc FindWindow ne fonctionnera pas.

1voto

aJ. Points 17014

Processus ouvert Fonction

De MSDN :

Pour ouvrir un handle à un autre processus local et obtenir des droits d'accès complets, vous devez activer le privilège SeDebugPrivilege.

0 votes

Je n'ai pas le pID, seulement le nom.

1 votes

SeDebugPrivilege n'est absolument pas nécessaire pour les processus qui s'exécutent en tant que vous. Si vous avez accès au processus via son ACL (ce que vous faites généralement pour les processus que vous créez au même niveau d'intégrité que votre code), vous n'avez pas besoin de SeDebugPrivilege. De la même page MSDN : Si l'appelant a activé le privilège SeDebugPrivilege, l'accès demandé est accordé indépendamment du contenu du descripteur de sécurité.

0 votes

Oui, tu dois d'abord obtenir l'ID du processus en itérant les processus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X