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

Windows Forms Discussion :

[Vb.NET] Changer le type de démarrage d'un service Windows


Sujet :

Windows Forms

  1. #1
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut [Vb.NET] Changer le type de démarrage d'un service Windows
    Bonsoir à tous,

    Tout est dans le titre, peux t-on avec visual studio changer le type de démarrage d'un service Windows à savoir le mettre en "automatique", "manuel" ou "desactive" ?

    Je sais qu'on peut démarrer ou stopper facilement un service avec :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ' Récupère la liste des services de la machine locale
     myServices = ServiceController.GetServices()
     
    myServices(0).Start 'démarre le service à l'index 0
    Mais il semble impossible de modifier le type de démarrage avec ce namespace...

    Avez vous des idées ?

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Je ne sais pas si de base dans le Framework il existe quelque chose pour ça, mais on peut le faire avec WMI en appelant la méthode ChangeStartMode de la classe Win32_Service.

    Voici le code généré par WMI Code Creator.
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Imports System
    Imports System.Management
    Imports System.Windows.Forms
     
    Namespace WMISample
     
        Public Class CallWMIMethod
     
            Public Overloads Shared Function Main() As Integer
     
                Try
     
                    Dim classInstance As New ManagementObject( _
                        "root\CIMV2", _
                        "Win32_Service.Name='LeService'", _
                        Nothing)
     
                    ' Obtain [in] parameters for the method
                    Dim inParams As ManagementBaseObject = _
                        classInstance.GetMethodParameters("ChangeStartMode")
     
                    ' Add the input parameters.
                    inParams("StartMode") =  "Automatic"
     
                    ' Execute the method and obtain the return values.
                    Dim outParams As ManagementBaseObject = _
                        classInstance.InvokeMethod("ChangeStartMode", inParams, Nothing)
     
                    ' List outParams
                    Console.WriteLine("Out parameters:")
                    Console.WriteLine("ReturnValue: {0}", outParams("ReturnValue"))
     
                Catch err As ManagementException
     
                    MessageBox.Show("An error occurred while trying to execute the WMI method: " & err.Message)
                End Try
            End Function
        End Class
    End Namespace
    Pas de questions techniques par MP

  3. #3
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Salut,

    Ca marche pas pour tous les services...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Dim classInstance As New ManagementObject( _
                    "root\CIMV2", _
                    "Win32_Service.Name='Affichages des messages'", _
                    Nothing)
    Il ne trouve pas le service en question alors qu'il existe... Peut être à cause des espaces ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  4. #4
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Affichage des messages c'est le libellé (Caption) mais pas le nom (Name) du service. Essaye avec Messenger, c'est le nom que j'ai sur mon PC pour ce service.
    Pas de questions techniques par MP

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Arf !! Et oui, je me suis planté de nom ^^

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Je relance le sujet car j'ai fais une bêtise et WMI ne marche plus :
    Le service ou le groupe de dépendance n'a pas pu démarrer. (Exception de HRESULT : 0x8007042C)
    Sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Dim classInstance As New ManagementObject("root\CIMV2", _
                           "Win32_Service.Name='" & nom & "'", Nothing)
     
            ' Obtain [in] parameters for the method
            Dim inParams As String = classInstance.GetPropertyValue("StartMode").ToString
    Juste avant j'ai fais joujou avec les services de Windows... donc j'ai du désactiver un truc mais je n'arrive pas à rétablir ma betise

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    J'ai trouvé ceci
    - Erreur 1068 : Le service ou le groupe de dépendance n'a pas pu démarrer :
    1) Cliquez sur Démarrer/Exécuter puis saisissez : CMD /K SC QC WINMGMT
    2) Vérifiez ce qui est indiqué en face de la ligne DEPENDENCIES
    Vous devez avoir ces deux indications : RPCSS et Eventlog
    3) Dans l'éditeur du Registre ouvrez cette clé : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winmgmt
    4) Éditez une valeur de chaînes multiples nommée DependOnService.
    5) Saisissez ces valeurs :
    RPCSS
    Eventlog
    Vous devez effectuer un retour à la ligne après avoir inscrit la valeur RPCSS.
    Maintenant aucune idée si cela permettra de corriger le problème ^^
    Pas de questions techniques par MP

  8. #8
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Je te remercie mais j'avais déjà trouvé ce lien et tout était en ordre

    Arf, j'aurais du faire un backup avant quel con !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Regarde dans les propriétés des services, tu as leur dépendance.

    Il suffit de démarrer le ou les services dont ton service qui ne démarre pas dépend.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  10. #10
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    J'ai trouvé ! J'ai désactivé le service "Journal d'événement" de Windows qui est indispensable

    Ouf

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/11/2018, 17h09
  2. Changer le mode d'ouverture d'un service Windows
    Par Anto03 dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/05/2009, 09h15
  3. [ANT][Tomcat]Démarrage d'un service windows
    Par ellene dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 06/07/2006, 16h05
  4. Planifier le démarrage d'un service Window
    Par tscoops dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/03/2005, 14h56
  5. 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

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