Vérifier si une application est lancé, sinon on la démarre !

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 583 fois - Téléchargée 28 fois

Contenu du snippet

Ce code permet de vérifier si une application est démarré, si elle ne l'est pas on la lance !
Au départ j'ai eu besoin de le faire car j'ai un traitement qui utilise l'application outlook, hors il arrivait que des personnes fermaient accidentellement outlook, et donc mon traitement ne pouvait tourner !
Ainsi plus de soucis, dès que mon traitement se lance j'exécute ce petit bout de code et je suis sur que mon traitement tourne bien !

Evidemment vous pouvez l'adapter pour n'importe quel application, il suffit d'en récuperer la syntaxe exacte dans le gestionnaire des tâches.
On peut très bien imaginer transformer la procédure en fonction avec en passage de paramètre l'appli a vérifier et le chemin de son exécutable !!!

Source / Exemple :


'---------------------------------------------------------------------------------------
    'Cette procédure permet de vérifier si outlook est lancé, si elle ne l'est pas on la 
    'lance ! Bien sur on peut adapter le programme pour toute les applications !
    'on peut également généraliser la procédure pour passer l'application et le chemin
    'en paramètre, si ca vous dit, a vos clavier !!!!!
    '---------------------------------------------------------------------------------------

    Sub VerifOutlook()
        'Vérifie la présence d'outloo, si le process n'est pas présent on lance Outlook.
        Dim p As New Process

        Try
            'Vérification de l'existence du process (on le trouve dans le gestionnaire des taches ^^)
            If UBound(Diagnostics.Process.GetProcessesByName("OUTLOOK")) < 0 Then
                'Si il n'est pas déjà lancé on le lance donc manuellement
                p.StartInfo.FileName = "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE"
                'Définition du style de la fenêtre (maximisé, minimisé, normal, caché)
                p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
                'Démarrage du process
                p.Start()
            End If
        Catch err As Exception
            MsgBox(err.ToString(), MsgBoxStyle.Critical, "Erreur !")
        End Try
    End Sub

Conclusion :


Tout code est perfectible !
Merci de vos commentaires !!!

A voir également

Ajouter un commentaire

Commentaires

Messages postés
60
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
16 mai 2007

Tout simplement car on dispose d'un framework offrant de nombreuse possibilité contrairement au shell qui est du plus basique...
Ici je n'ai montré qu'une petit partie, mais si tu regardes un peu toutes les méthodes et les propriétés du "Process" tu verras que son utilisation coule de source !
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Pourquoi faire

'Si il n'est pas déjà lancé on le lance donc manuellement
p.StartInfo.FileName = "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE"
'Définition du style de la fenêtre (maximisé, minimisé, normal, caché)
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
'Démarrage du process
p.Start()

et ne pas faire plus simplement

Shell("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE", AppWinStyle.NormalFocus)

???
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
1
OneHacker : Je veux pas être désagreable mais en regardant juste la liste de tes 5 dernieres sources, aucunes n'inove, et on peut trouver un ou plusieurs equivalents pour chacunes d'elles.
Ta remarque n'est pas fausse, mais mal placée...
Messages postés
60
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
16 mai 2007

Je suis d'accord mais en faisant une recherche je n'ai pas trouvé d'exemple :-/
mais je n'ai rien inventé donc il se peut qu'on m'ait devancé ^^
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
OneHacker, oui je suis d'accord.
Mais indique alors la ou les sources similaires pour qu'on puisse comparer.
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.