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 :

[mfc]d�truire un processus


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut [mfc]d�truire un processus
    Bonjour ,
    j'ai cr�� une petite application qui permet de trouver le process id ainsi que le handle du processus que je veux d�truire.

    J'aimerais connaitre la fonction qui permet de le d�truire sachant que cet executable ne poss�de pas de fenetre.

    merci

  2. #2
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    essaie TerminateProcess

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    salut ,
    j'ai regard� dans la msdn et c'est �crit que terminateprocess doit etre utiliser en dernier recours , il conseil d'utiliser exitprocess.

  4. #4
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    ExitProcess
    The ExitProcess function ends a process and all its threads.

    VOID ExitProcess(
    UINT uExitCode // exit code for all threads
    );
    tu fais comment pour dire quel process tu veux arreter ???

    alors que
    TerminateProcess
    The TerminateProcess function terminates the specified process and all of its threads
    il y a le mot : specified

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    salut ,
    tu avais raison exitprocess ne permet pas de terminer un autre processus que le sien.
    par contre , je n'arrive pas � terminer le processus , la fonction terminateprocess me renvoie toujours le code 0 qui signifie une erreure.

    peus tu s'il te plait , le regarder et me dire si tu vois une erreure.

    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
    20
    21
    22
    23
    24
     
    if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), 
                 &cbNeeded) )
      {
            GetModuleBaseName( hProcess, hMod, szProcessName, 
                                  sizeof(szProcessName) );
     
          if(strcmp(szProcessName,nom_processus) == 0)
         {
          *handle_processus = hProcess;	
     
         BOOL ret_terminate_process;
         DWORD lpExitCode;
     
         ret_terminate_process = GetExitCodeProcess(hProcess , &lpExitCode);
     
         if(ret_terminate_process == 0)
         {
         //MessageBox("Erreur lors de l'execution du logiciel de gestion de la télécommande.Veuillez le réinstaller!!!!",NULL,MB_OK|MB_ICONSTOP);
        //message_telecommande.utilisation_telecommande = 0;
           }
     
             int ret;
              ret = TerminateProcess(hProcess,lpExitCode);

    je ne comprends vraiment pas pourqoui le processus ne s'interrompt pas , peus tu m'aider.
    salut

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    excuse moi , mais je ne t'es pas donn�e les explications du code plus haut . le code du messagepr�c�dent permets de trouver le handle de l'executable recherch�, je fais un enumprocess() , puis je cherche les nom de tous les process puis quand le nom est bon (strcmp == 0) alors j'essaye de le d�truire.


    je ne comprends pas pourquoi c'a ne marche pas , j'ai essay� de detruire plusieurs executable mais aucun ne marche.

    salut

  7. #7
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    quand tu essaies de les detruire par le gestionnaire de tache, ca fonctionne ??? parce qu'on peut pas tout arreter non plus

  8. #8
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut, c'est pas si simple que �a il faut voir avec les tokenprivilege (droit system) ,tu devrais jetter un oeil a cet article qui montre changer les priviliges du prog en cours .
    http://www.codeguru.com/system/killer.html


  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    Je ne comprends pas , sur certains sites ils utilisent la m�me m�thodes que moi , pourtant l'executable que je veux arreter n'est pas prot�ger , il s'agit d'un executable que j'ai cr�� en visual c++.il s'arrete sans probl�me via le gestionnaire des t�ches.

    si quelqu'un a un tuyau ou un exemple d'arret ,n'h�siter pas car je suis bien coin�� .

    merci

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    Je ne comprends pas , sur certains sites ils utilisent la m�me m�thodes que moi , pourtant l'executable que je veux arreter n'est pas prot�ger , il s'agit d'un executable que j'ai cr�� en visual c++.il s'arrete sans probl�me via le gestionnaire des t�ches.

    si quelqu'un a un tuyau ou un exemple d'arret ,n'h�siter pas car je suis bien coin�� .

    merci

  11. #11
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    regarde avec GetLastError pour connaitre la raison

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    je viens de v�rifier l'erreur avec getlasterror et il me donne cette erreur:

    5 Access is denied. ERROR_ACCESS_DENIED

    je pense que tu as raison , la solution est de s'appropri� les droits d'acc�s mais l� c'est plus difficille car je ne comprends pas comment r�aliser cette fonction.

    en tout cas merci pour ton tuyau.

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par d�faut
    Salut ,
    je viens d'utiliser la gestion ds privil�ges et l� ca fonctionne super bien.
    encore une fois un grand merci car ton lien m'a �t� d'un grand secours.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    R�ponses: 8
    Dernier message: 08/06/2005, 15h57
  2. R�ponses: 18
    Dernier message: 16/03/2005, 17h22
  3. [MFC] attendre fin de demarrage d'un processus
    Par pitch21 dans le forum MFC
    R�ponses: 16
    Dernier message: 14/10/2004, 09h35
  4. [MFC] Attendre l'arr�t d'un processus !!
    Par Djoz dans le forum MFC
    R�ponses: 6
    Dernier message: 29/07/2003, 12h03
  5. R�ponses: 2
    Dernier message: 10/06/2002, 11h03

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