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 :

Lancer un process au démarrage d'un service. [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Apprenti développeur
    Inscrit en
    Février 2014
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti développeur

    Informations forums :
    Inscription : Février 2014
    Messages : 102
    Points : 58
    Points
    58
    Par défaut Lancer un process au démarrage d'un service.
    Bonjour tout le monde,

    Voila, j'ai une form que je veux lancer au démarrage d'un service. Cette form communique via un pipe avec le service.

    Donc voilà dans la méthode "onStart", je fais un process.start :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Protected Overrides Sub OnStart(ByVal args() As String)
            'Ajoutez ici le code pour démarrer votre service. Cette méthode doit
            'démarrer votre service.
     
            If Not IsProcessRunning("C:\Users\KRO\Desktop\projet6\ERToolMsg2\ERToolMsg\bin\Debug\ERToolMsg.exe") Then
                Process.Start("C:\Users\KRO\Desktop\projet6\ERToolMsg2\ERToolMsg\bin\Debug\ERToolMsg.exe")
            End If
     
     
            MonThreadPresenceBase.Start()
            MonThreadPipeConnect.Start()
            MonThreadPipeConnect2.Start()
     
        End Sub
    Note : IsProcessRunning est une méthode que j'ai créé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Private Function IsProcessRunning(ByVal processName As String) As Boolean
     
            Dim p() As Process
            p = Process.GetProcessesByName(processName)
            If p.Count > 0 Then
                Return True
            Else
                Return False
            End If
        End Function
    Pourquoi le programme ne se lance-t-il pas?

    Merci pour votre aide.


    Edit :

    Apparemment, celà est impossible, problème sur windows 7 avec la session Local system d'après mes recherches. Au pire des cas je vais lancer le windows form au démarrage de windows.

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour Kurt225,

    Je ne sais pas si cela résoudra le problème pour le reste mais en ce qui concerne ta routine de détection de processus cela ne peut pas fonctionner :

    Le nom du process que tu recherches ne peut pas être un chemin : "C:\Users\KRO\Desktop\projet6\ERToolMsg2\ERToolMsg\bin\Debug\ERToolMsg.exe"


    Donc la correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If Not IsProcessRunning("ERToolMsg") Then
                Process.Start("C:\Users\KRO\Desktop\projet6\ERToolMsg2\ERToolMsg\bin\Debug\ERToolMsg.exe")
            End If

    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Apprenti développeur
    Inscrit en
    Février 2014
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti développeur

    Informations forums :
    Inscription : Février 2014
    Messages : 102
    Points : 58
    Points
    58
    Par défaut
    Merci pour la correction wallace.

    Je crois que le process démarre mais pas sur la couche bureau (enfin je ne m'y connais pas trop, c'est une supposition).

    En effet, quand je lance manuellement la form, j'ai une erreur indiquant que les canaux de communication sont occupées. Ce qui veut dire que le process.start a fonctionné et que form et service communiquent, mais pas comme je le souhaitais...

    Oui je crois que la form est active mais pas sur le bureau :/. Si je me trompe, dîtes le moi.

    Edit :

    Finalement j'ai opté pour mettre le programme dans le dossier démarrage..

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

Discussions similaires

  1. Lancer un process dès qu'il tombe
    Par devdev2003 dans le forum Administration système
    Réponses: 4
    Dernier message: 13/06/2005, 22h44
  2. Planifier le démarrage d'un service Window
    Par tscoops dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/03/2005, 14h56
  3. Récupérer le type de démarrage d'un service
    Par Nathan dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/04/2004, 15h07
  4. lancer une application au démarrage de WinXP
    Par Sph@x dans le forum Windows
    Réponses: 6
    Dernier message: 07/04/2004, 18h05
  5. Lancer un programme au démarrage
    Par ludo_7 dans le forum Windows
    Réponses: 7
    Dernier message: 09/10/2003, 16h29

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