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

VB.NET Discussion :

Vérifier si un processus tourne ou pas ? [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut Vérifier si un processus tourne ou pas ?
    Bonjour,


    J'aimerais pouvoir checker si un processus tourne ou pas.


    J'ai testé cette fonction qui à l'air de marcher plutôt bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Public Function IsProcessOpen(ByVal name As String) As Boolean
     
            For Each clsProcess As Process In Process.GetProcesses()
     
                If clsProcess.ProcessName.Contains(name) Then
     
                    Return True
                End If
            Next
     
            Return False
        End Function

    mais si et seulement si, le processus qui tourne correspond à la casse (donc, écriture exact)

    Ainsi, si le bloc note est ouvert est que je fais :


    Il me retourne True.


    Si je fais un...

    ...et que le bloc note est bien ouvert, il me retourne False.


    Ce n'est pas génant dans la majeur partie des cas, mais je dois vérifier si une application tourne, et elle aurait pu être renommé pour X ou Y raison.



    Peut on s'affranchir de la façon dont est écrit le nom du processus tournant ?



    Merci

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 176
    Points : 25 118
    Points
    25 118
    Par défaut
    non
    si on donne un nom à processus/exe c'est pour pouvoir le différencier des autres justement

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut
    Merci Pol pour ta réponse.

    J'ai contourné cependant la solution en listant les processus, les mettant dans une liste tous en minuscule, et en évitant les doublons.

    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
     
        Public Function IsProcessOpen(ByVal name As String) As Boolean
     
            Dim listprocess As New System.Collections.SortedList
     
     
            For Each clsProcess As Process In Process.GetProcesses()
     
                If Not listprocess.ContainsValue(clsProcess.ProcessName) Then
     
                    listprocess.Add(LCase(clsProcess.ProcessName), LCase(clsProcess.ProcessName))
     
                End If
     
                If listprocess.ContainsValue(name) Then
                    Return True
                End If
            Next
     
     
            Return False
        End Function

    Ce n'est peut être pas très académique mais ça répond à ce que je cherchais

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

Discussions similaires

  1. Pourquoi mon processus tourne en boucle ?
    Par cladsam dans le forum POSIX
    Réponses: 6
    Dernier message: 09/06/2011, 16h07
  2. Erreur : Le processus ne peut pas accéder au fichier
    Par victor72 dans le forum Dev-C++
    Réponses: 1
    Dernier message: 16/03/2007, 14h50
  3. Réponses: 6
    Dernier message: 19/10/2005, 18h21
  4. Réponses: 2
    Dernier message: 15/03/2005, 14h24

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