Bonjour tout le monde,

Je veux obtenir un Token sur le processus "explorer.exe" et j'ai un problème avec la fonction 'OpenProcessToken' de l'API Windows/C++, elle échoue à tous les coups
Elle retourne toujours 0, et le GetLastError() retourne le code d'erreur 998, qui selon les gens de msdn signifie ERROR_NOACCESS.
Pour plus de précisions:
1) le compte utilisateur que j'utilise est un compte Administrateur local( pas sur un domaine AD)
2) système d'exploitation Vista
voici le code de mon programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int _tmain(int argc, _TCHAR* argv[])
{
	DWORD processID=GetPidByName("explorer.exe"); //GetPidByName : cette fonction permet de récupérer l'ID du processus, elle marche nickel et je l'ai testé 
	printf("PID = %ld\n", processID);
  
    HANDLE hExplorerProcess = OpenProcess( PROCESS_QUERY_INFORMATION ,
                                   FALSE, processID );
	
	PHANDLE TokenHandle=NULL;
	BOOL b=OpenProcessToken(hExplorerProcess, 
							  TOKEN_READ,
							  TokenHandle);

    DWORD d=GetLastError();
	  
	  system("pause>nul");
  
	return 0;
}

Merci pour tout type d'aide