Bonjour,

Dans un programme que je developpe je souhaiterai pouvoir lire la memoire d'un autre processus, mais plusieurs fonctions me retourne des ERROR_ACCESS_DENIED.

Tout d'abord, je recherche mon processus avec les fonctions Process32First et Process32Next. Je trouve le processus dont je veux lire la memoire. Mais on me dit que je n'ai pas les droits d'acces quand j'execute le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
HANDLE		hProcess = OpenProcess(PROCESS_ALL_ACCESS, true, pe32.th32ProcessID);
En revanche si a la place de PROCESS_ALL_ACCESS, j'indique PROCESS_TERMINATE la fonction reussit et me retourne un handle. Par contre l'execution du code suivant me retourne la meme erreur, a savoir ERROR_ACCESS_DENIED.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
Je ne comprends pas pourquoi il me retourne cette erreurs. Je developpe sous Visual Studio 2008 avec Windows XP SP3. Mon compte appartient au groupe administrateur.

J'ai essayer de trouver des informations sur le net, mais ca n'a rien donner. Notamment certains sites parle du groupe utilisateur 'Debugger Users group', d'autres sites disent que ce n'est plus en vigueur.

Quelqu'un peut il m'aider ?