Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VÉRIFIER SI UNE APPLICATION EST LANCÉ, SINON ON LA DÉMARRE !


Information sur la source

Catégorie :Exécution Source .NET ( DotNet ) Classé sous : verifier, process, lancer, démarrer, application Niveau : Débutant Date de création : 07/12/2006 Vu : 11 119

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

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

  • '---------------------------------------------------------------------------------------
  • '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
'---------------------------------------------------------------------------------------
    '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 !!!
 

Commentaires et avis

signaler à un administrateur
Commentaire de Charles Racaud le 07/12/2006 11:20:42

Et si on a office 12 (ou version différente du 11). Ca fonctionne pas.
Et même, si il n'est pas installé sur le disque C. Il ne faut donc pas mettre de chemin en dur.

Remarques. Le Microsoft.VisualBasic est à banir.
Utilise du bon framework:
• If Diagnostics.Process.GetProcessesByName("OUTLOOK").Length = 0 Then
• System.Windows.Forms.MessageBox.Show(Err.ToString(), "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error)
__
Kenji

signaler à un administrateur
Commentaire de scoubigee le 07/12/2006 11:42:05

C'est juste pr info, tu l'adapate a tes besoins, dans mon appli le chemin se trouve dans le fichier .config de l'application, seulement ICI je l'ai mis en dur a titre de démo ^^

Tout comme pr la remonter d'erreur qu'ici j'ai remplacé par une simple msgbox, encore une fois pour simplifier au maximum le code !
Peux tu m'expliquer l'interet de procéder ainsi en ce qui concerne "System.Windows.Forms.MessageBox.Show(Err.ToString(), "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error")
?

voili voilou

signaler à un administrateur
Commentaire de hvb le 07/12/2006 17:47:07

c'est la syntaxe "officiele" des msgbox en .net, mais c'est vrai que c'est bien lourd à taper ^^
Au passage Ubound est une fonction vb6, prefere lui ton_array.GetUpperBound(0)    où 0 est la dimension de ton tableau

signaler à un administrateur
Commentaire de scoubigee le 07/12/2006 18:59:42

Merci de ton commentaire, j'en prend bien note, je préfère ne pas modifier la source afin que ton commentaire reste pertinent pour tous ! (^_^)
Et ce n'est n'est pas de la flemme, si vous pensez que c'est plus profitable de modifier la source, I'll do !!!

;-)

signaler à un administrateur
Commentaire de OneHacker le 13/12/2006 19:00:52

Si tu lis bien le règlement il ne faut pas reposter des sources similaires lorsqu'elles ont déjà étés postées.

Redman

signaler à un administrateur
Commentaire de Charles Racaud le 13/12/2006 19:22:14

OneHacker, oui je suis d'accord.
Mais indique alors la ou les sources similaires pour qu'on puisse comparer.

signaler à un administrateur
Commentaire de scoubigee le 13/12/2006 20:18:13

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é ^^

signaler à un administrateur
Commentaire de hvb le 13/12/2006 20:18:15

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...

signaler à un administrateur
Commentaire de XelectroX le 12/03/2008 18:04:01 5/10

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)

???

signaler à un administrateur
Commentaire de scoubigee le 28/05/2008 15:28:58

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 !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Lancer un process avec des droits particuliers [ par cyrilp ] Bonjour,J'aimerai savoir comment faire avec les API windows (NT) pour lancer une application sous un compte particulier.Par exemple, je suis connecté Lancer une application DOS avec Process [ par koko1 ] Salut a tous Je suis entrain d'écrire un programme en VB.NET qui lance une application a travers d'un Process.Le problème c'est que: quand je fait Pro Lancer une application parametrée [ par promiage123 ] Bonjourvoila , je veux lancer un executable avec ses paramateres !j'ai utilisé pas mal de fonction : shell ShellExecuteShellExecuteExmais ca n'a jamai lancer un document Word à partir de l'application VB.net [ par rahma_bou22 ] Je voudrais savoir comment, à partir du clik d'un bouton, je pourrais lancer un document word existant.c'est urgent . Lancer une application avant windows [ par erriyadimounir ] Bonjour, Je veux lancer une application avant que le windows démarre,si quelqu'un a une idée merci deme répondre.Merci d'avance CordialementERR.M Lancer (Shell ou process.start) un application classique (notepad.exe) depuis un service (monservice.exe) [ par mallett ] Bonjour a tous,Je galere grave depuis quelques jours sur un petit besoin specifique !J'ai une application classique avec Interface (MonAppli.exe)J'ai Comment faire pour démarrer l'application avec windows lors de l'installation [ par fauve ] Bonjour,    Je voudrais savoir s'il est possible lors de l'installation d'une application VB.NET d'ajouter une clé dans le registre afin que l'applica Connaitre de nom de l'application pour Createobject [ par RMamat ] Salutje souhaite piloter une application 1 depuis une autre application 2 (type word).Pour cela, je souhaite lancer l'application 1 avec un createobje Lancer un programme depuis une application VS sur PocketPC [ par KIPRE74 ] Bonjour à tous, J'aimerais lancer un programme à partir d'un clic sur un bouton d'une autre application sur mon PocketPC pour le GPS; voici la comman System.Diagnostics.Process lancer une commande [ par MANURELAIS ] Salut à tous,Voilà je voudrait faire plus propre dans mon code car je pense que ce que je fais est un peu tiré par les cheveux!afin de ne pas utiliser


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.