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

 Delphi Discussion :

Kill process iexplore.exe


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Kill process iexplore.exe
    Bonjour ,
    j'ai developper une application en delphi.
    quand je lance cette application le processus "iexplore.exe" se lance en parallèle puisque j'utilise le composant ActivX, bon, mon problème est apparu quand je ferme mon application le processus "iexplore.exe" ne se ferme pas ,
    j'essaye d'utiliser se bout de code : en fait c'est une fonction qui fait la fermeture de ce processus :
    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
     
    function KillTask(ExeFileName: string): integer;
    const
      PROCESS_TERMINATE=$0001;
    var
      ContinueLoop: BOOL;
      FSnapshotHandle: THandle;
      FProcessEntry32: TProcessEntry32;
    begin
      result := 0;
     
      FSnapshotHandle := CreateToolhelp32Snapshot
                         (TH32CS_SNAPPROCESS, 0);
      FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
      ContinueLoop := Process32First(FSnapshotHandle,
                                     FProcessEntry32);
     
      while integer(ContinueLoop) <> 0 do
      begin
        if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
             UpperCase(ExeFileName))
         or (UpperCase(FProcessEntry32.szExeFile) =
             UpperCase(ExeFileName))) then
          Result := Integer(TerminateProcess(OpenProcess(
                            PROCESS_TERMINATE, BOOL(0),
                            FProcessEntry32.th32ProcessID), 0));
        ContinueLoop := Process32Next(FSnapshotHandle,
                                      FProcessEntry32);
      end;
     
      CloseHandle(FSnapshotHandle);
    end;
    Mais cette fonction faire fermer toute les fenêtre de navigateur ouvert,
    Est ce qu'il y a une solution pour faire fermer juste le processus de "iexplore.exe" qui a été créer avec mon application.???

    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Je pense que tu dois exécuter ton explorateur avec CreateProcess si c'est concluant tu dois sauvegarder les Handle de tes processus Crées en sauvegardant hProcess de l'argument ProcessInformation ensuite pour les fermer tu utilise TerminateProcess qui aura besoin du ProcessHandle que tu as préalablement sauvegardé s'il existe toujours bien sur.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    désolé j'ai pas compris votre réponse , si vous avez quelques exemple qui utilise votre solution
    En fait je travail sur une grande application en delphi qui se base sur Activx, et je sais pas comment et ou se fait la création de processus "iexplore.exe".

    Merci

Discussions similaires

  1. kill process javaw.exe
    Par Piolet dans le forum Langage
    Réponses: 10
    Dernier message: 18/01/2008, 17h19
  2. Réponses: 20
    Dernier message: 16/03/2006, 09h04
  3. Killer le Process explorer.exe
    Par ni0urk dans le forum MFC
    Réponses: 1
    Dernier message: 08/02/2006, 11h44
  4. Réponses: 1
    Dernier message: 16/01/2006, 20h15
  5. [net*8] Kill process Oracle
    Par Filippo dans le forum Oracle
    Réponses: 2
    Dernier message: 18/11/2005, 10h39

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