none
Terminer un processus RRS feed

  • Question

  • Bonjours,

    Je cherche un moyen efficace de terminer un processus tel que WINWORD.

    Actuellement j'utilise :

                ProcessesRuning = Process.GetProcesses()
                For Each Process In ProcessesRuning
                    If Process.ProcessName = "WINWORD" Then
                        Process.Kill()
                    End If
                Next

    Mais ce code à de la peine à terminer le processus winword.

    En terminant le processus depuis le gestionnaire des tâches (ctrl+alt+del), c'est beaucoup plus efficace et rapide!

     

    merci d'avance

     

    vendredi 13 janvier 2012 16:47

Réponses

  • Bonjour,

    Donc la doc je vois :

    "La méthode Kill s'exécute de façon asynchrone.Après avoir appelé la méthodeKill, appelez la méthode WaitForExit pour attendre que le processus s'arrête ou vérifiez la propriété HasExited pour déterminer si le processus est arrêté."

    Est-ce que cela pourrait être la source du problème ?

    Merci d'être toujours le plus précis possible qq chose comme "cela marche mais c'est lent" ou "ensuite mon code fait autre chose mais Word semble encore être ouvert" permettrait de mieux cerner le souci que "le code a de la peine à terminer le processus".

    Egalement Kill est bien sûr un dernier recours et ne devrait jamais être utilisé (si par exemple Word a été ouvert précédemment via automation, envoyer une commande pour quitter proprement Word serait préférable).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    vendredi 13 janvier 2012 21:26
    Modérateur

Toutes les réponses

  • Bonjour,

    Qu'appellez vous par : "ce code à de la peine à terminer le processus winword" ? Vous obtenez une exception ? Une erreur particulière ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    vendredi 13 janvier 2012 21:23
    Modérateur
  • Bonjour,

    Donc la doc je vois :

    "La méthode Kill s'exécute de façon asynchrone.Après avoir appelé la méthodeKill, appelez la méthode WaitForExit pour attendre que le processus s'arrête ou vérifiez la propriété HasExited pour déterminer si le processus est arrêté."

    Est-ce que cela pourrait être la source du problème ?

    Merci d'être toujours le plus précis possible qq chose comme "cela marche mais c'est lent" ou "ensuite mon code fait autre chose mais Word semble encore être ouvert" permettrait de mieux cerner le souci que "le code a de la peine à terminer le processus".

    Egalement Kill est bien sûr un dernier recours et ne devrait jamais être utilisé (si par exemple Word a été ouvert précédemment via automation, envoyer une commande pour quitter proprement Word serait préférable).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    vendredi 13 janvier 2012 21:26
    Modérateur
  • Bonjour,

     

    Dans mon projet, j'ai besoin que les processus "WinWord" et "Excel" soient terminé à un moment donné. Je souhaite donc pouvoir les forcer à se terminer.

     

    Avec le wait for exit ça fonctionne mieux, c'est ce que je cherchais. merci


    vendredi 13 janvier 2012 23:29