IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Autorisations pour "killer" certains processus


Sujet :

MFC

  1. #1
    Membre exp�riment� Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Par d�faut Autorisations pour "killer" certains processus
    Voil� j'aurais besoin de killer quelques processus syst�me tel svchost.exe ou alg.exe ...
    taskmgr le fait tr�s bien tout seul mais je voudrais le faire dans un prog utilisant OpenProcess et TerminateProcess. Le code marche tr�s bien sauf pour quelques processus, qui refusent l'acc�s � mon prog. Comment obtenir cet acc�s ?
    J'ai d�j� vu d'autres prog que taskmgr le faire sans probl�me alors je me demande si il n'y a pas un moyen.
    Pour info je suis sous WinXP et OpenProcess me retourne :
    ERROR_ACCESS_DENIED
    5

    Ce qui est -il me semble- assez clair

  2. #2
    Membre confirm�
    Inscrit en
    Ao�t 2004
    Messages
    101
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 101
    Par d�faut
    Salut

    Je pense que certains processus sont prot�gs pas des threads ou alors touts simplement parce qu'ils �ssentiel au fonctionnement du system d'exploitation.

  3. #3
    Membre confirm�
    Inscrit en
    Mai 2005
    Messages
    30
    D�tails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 30
    Par d�faut
    il faut avoir le privilege debug_privilege.
    voici un exemple pour avoir ce privilege (API WINDOWS)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(osver.dwPlatformId==VER_PLATFORM_WIN32_NT)
    	{
    		HANDLE hToken;
    		TOKEN_PRIVILEGES tkp;
    		OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken);       
    		tkp.PrivilegeCount = 1;
    		LookupPrivilegeValue((LPSTR) NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
    		tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    		AdjustTokenPrivileges(hToken,FALSE,&tkp,0,NULL,NULL);
    		CloseHandle(hToken);
    	}
    ++


Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo