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

C++Builder Discussion :

Terminer explorer.exe [FAQ]


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut Terminer explorer.exe
    salut

    1 ___ Je voudrais savoir si il etait faisable de killer l explorateur à partir d un bouton de mon appli ?

    2 ___ Quel est le programme qui donne les veritables noms des threads ?
    On en a parlé mais je ne trouve plus le post

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
     
        ShellExecute(NULL,"open","test","","",SW_SHOW);
         Sleep(2000);
     
     
     
     
             HWND hwndexe;
            if ((hwndexe = FindWindow(NULL, "test")) != NULL)
       {
          DWORD ID, ExitCode;
          HANDLE hdl;
     
          GetWindowThreadProcessId(hwndexe, &ID);
          hdl = OpenProcess(PROCESS_ALL_ACCESS,false, ID);
     
          GetExitCodeProcess(hdl, &ExitCode);
          TerminateProcess(hdl, ExitCode);
       }
     
     
     
         int i;
    i = 0;
     
    for ( i=0; i=2; i++)
        {
     
     
         ShellExecute(NULL,"open","mem.vbs","","",SW_SHOW);
         Sleep(10000);  // valeur pour effectuer mes tests
         i=i+1;
         }
    }

    en fait j ouvre un dossier pour qu il puisse terminer le processus

    mais j obtiens une erreur systeme


    Erreur systeme . code : 1400
    Handle de fenetre non valide


    et l explorer se reinitialise

    une idèe ?


    mem.vbs :
    FreeMem = Space(256000000)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Pour killer "Explorer.exe" il faut renvoyer un exitCode différent de 0 sinon le système le relance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // Recupere le ProcessID de l'explorer ...
     
    UINT exitCode = 1;
     
    HANDLE ProcessHandle;
     
       ProcessHandle = OpenProcess(PROCESS_TERMINATE, false, ProcessID)
       TerminateProcess(ProcessHandle, exitCode);

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    merci je vais tester de suite

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            HWND hwndexe;
            if ((hwndexe = FindWindow(NULL, "test")) != NULL)
       {
          DWORD ID;
          UINT ExitCode = 1;
          HANDLE hdl;
     
          GetWindowThreadProcessId(hwndexe, &ID);
          hdl = OpenProcess(PROCESS_ALL_ACCESS,false, ID);
     
     
          TerminateProcess(hdl, ExitCode);
       }

    Merci c impeccable

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Un peu plus simple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WinExec("taskkill /F /IM \"explorer.exe\"",0);

  7. #7
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Citation Envoyé par jpleas Voir le message
    Un peu plus simple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WinExec("taskkill /F /IM \"explorer.exe\"",0);
    Sauf que la documentation dit:
    Note This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.
    Je suis étonné que sa fonctionne encore en 64-bit!
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Xp] Redémarrer Explorer.exe
    Par Lorponos dans le forum Windows XP
    Réponses: 7
    Dernier message: 22/04/2006, 16h27
  2. Killer le Process explorer.exe
    Par ni0urk dans le forum MFC
    Réponses: 1
    Dernier message: 08/02/2006, 11h44
  3. explorer.exe : 98% du processeur !!!
    Par trepidelhia dans le forum Windows XP
    Réponses: 7
    Dernier message: 11/08/2005, 10h03
  4. dossier/fichier "affichés" (explorer.exe)
    Par nek_kro_kvlt dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 10/03/2005, 16h31
  5. Ferme explorer.exe
    Par cmhicham dans le forum C++Builder
    Réponses: 7
    Dernier message: 15/07/2003, 14h53

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