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 :

Problème pour afficher label/picture lorsque processus est lancé [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 7
    Par défaut Problème pour afficher label/picture lorsque processus est lancé
    Bonsoir à tous,

    Je débute dans le VB.net, sous MVB 2010 Express.

    Je souhaiterai faire en sorte que si tel processus tourne, alors afficher tel image/label, en revanche si il ne tourne pas afficher un autre label/image. (principe du ON ou OFF).

    J'ai donc essayé, comme écrit ci-dessus, avec une image (une flèche verte vers le haut pour ON et rouge bas pour OFF) puis avec un label Offline et Online le tout Enabled = False

    Voici mon code (qui change pas que ce soit un label ou une image, le résultat est le même)

    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
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            'vérification du processus chrome
            For Each Process In Diagnostics.Process.GetProcesses()
     
                'Si un des noms de processus correspond
                If Process.ProcessName = "chrome" Then
                    'On met l'image ON qui faut si le process est bien actif
                     Me.ON_IMG.Enabled = True
     
               'sinon on met le off
                Else
                                   Me.OFF_IMG.Enabled = True
     
     
     
                End If
     
            Next
     
        End Sub
    Lorsque je lance mon application et que chrome est lancé, il m'affiche bien l'image ON sans afficher l'image OFF.
    Lorsque je ferme mon chrome et lance mon apli, il m'affiche OFF. (bien jusqu'à maintenant !)
    Lorsque je ré-ouvre chrome et relance mon apli, il m'affiche ON ET OFF...

    J'ai bien essayé de désactiver l'opposé dans chaque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          Me.OFF_IMG.Enabled = False
                    Me.ON_IMG.Enabled = True
     
                Else
                    Me.ON_IMG.Enabled = False
                    Me.OFF_IMG.Enabled = True
    Mais là il m'affiche HORS LIGNE dans tous les cas

    A ceci je me permet d'ajouter une question,
    Au lieu de relancer à chaque fois mon application, j'aimerai que la page soit "actualiser" (est-ce possible ?) de façon à ce que ça check le processus toutes les 5 secondes par exemple.

    Je n'ai pas trouvé de solution, si quelqu'un pourrait m'aider ça me ferait vraiment plaisir ! Merci d'avance et bonne soirée.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    J'utiliserai plutôt une fonction qui détermine si le processus est actif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Function ProcessActif(ByVal NomProcess As String) As Boolean
            For Each Process In Diagnostics.Process.GetProcesses()
                If Process.ProcessName = NomProcess Then Return True
            Next
            Return False
        End Function
    et je positionnerai la visibilité de mes images en fonction du résultat obtenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim actif As Boolean = ProcessActif("chrome")
            Me.ON_IMG.Visible = actif
            Me.OFF_IMG.Visible = Not actif
    Ou plus directement (sans variable intermédiaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Me.ON_IMG.Visible = ProcessActif("chrome")
            Me.OFF_IMG.Visible = Not Me.ON_IMG.Visible

    Pour tester à intervalle régulier il faut utiliser un Timer.

    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

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

Discussions similaires

  1. [MySQL] Problème pour afficher une image dont le chemin est stocké dans la bdd
    Par cel.Saint-Louis dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2007, 08h49
  2. Réponses: 18
    Dernier message: 12/06/2006, 09h39
  3. [MFC]Problème pour afficher une image.
    Par Deedier dans le forum MFC
    Réponses: 4
    Dernier message: 25/03/2005, 16h13
  4. Réponses: 13
    Dernier message: 23/12/2004, 18h01
  5. Réponses: 3
    Dernier message: 29/08/2003, 10h57

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