Problème ERROR_NOACCESS avec la fonction OpenProcessToken de l'API Windows/C++
Bonjour tout le monde, :salut:
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:
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 :merci: