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

C# Discussion :

Démarrer / stopper un service avec le shell


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 179
    Points : 100
    Points
    100
    Par défaut Démarrer / stopper un service avec le shell
    bonjour a tous chers developpeurs

    j ai besoin de votre aide si ca n vous derange pas


    voila , en fait j essaye de lancer une commande shell qui va fermer un service des que mon interface graphique se charge, et va ouvrir a nouveau le service des que je ferme l interface , sauf que je ne sais pas comment faire
    j ai cree les methode , mais elle sont vide.
    je sais que pour demarrer le service en shell , c est net start , et pour le ferme c est net stop
    Si vous pouvez me renseigner svp , merci beaucoup


    je vous donne le bout de code contenant les methodes
    merci beaucoup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #pragma endregion
    	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
     
    				 this->dataSet1->ReadXml("data.xml");
    				 this->dataGridView1->DataSource=this->dataSet1->DefaultViewManager;
    				 this->dataGridView1->DataMember="projet";
    			 }
    private: System::Void Form1_FormClosed(System::Object^  sender, System::Windows::Forms::FormClosedEventArgs^  e) {
    		 }
    dans ma fonction load form( chargement de la fenetre) , je traite du xml dans mon datagrid view, je voudrai stopper le service juste avant ce traitement

    et dans ma fonction form closed, je voudrai juste relancer le service
    merci beaucoup
    et desole de vous deranger

  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
    Passe par la classe ServiceController plutôt que faire un "net stop" ou un "net start", ce sera plus propre. Il faudra que tu ajoutes une référence à System.ServiceProcess dans ton projet.

    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
    ServiceController controller = new ServiceController();
    // Nom de la machine (. pour le poste local)
    controller.MachineName = ".";
    // Nom du service que l'on veut contrôler
    controller.ServiceName = "LeNomDeMonService";
    // Ou encore, avec une autre surcharge du constructeur
    // ServiceController controller = new ServiceController("LeNomDeMonService", ".");
    ...
    // Arrêt du service
    if (controller.Status == ServiceControllerStatus.Running || 
        controller.Status == ServiceControllerStatus.Paused)
    {
        controller.Stop();
    }
    ...
    // Démarrage du service
    if (controller.Status == ServiceControllerStatus.Stopped)                
    {
        controller.Start();
    }
    C'est du C#, mais c'est presque pareil en C++/CLI
    Pas de questions techniques par MP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 179
    Points : 100
    Points
    100
    Par défaut
    woow
    impec
    mrci beaucoup
    je vais tester ca dessuite

    car c est vrai que net start , avec la commande dos qui s ouvre
    beurk

Discussions similaires

  1. Démarrer service avec des espaces dans le nom
    Par alex504 dans le forum VBScript
    Réponses: 14
    Dernier message: 23/07/2013, 17h44
  2. Seven ne veut pas démarrer mes services avec VBS
    Par chido dans le forum VBScript
    Réponses: 5
    Dernier message: 19/05/2012, 01h53
  3. Démarrer / Stopper des services sur un PC distant
    Par El-Diablo- dans le forum C++Builder
    Réponses: 1
    Dernier message: 30/05/2008, 20h42
  4. Démarrer un service avec des arguments
    Par erlou dans le forum VBScript
    Réponses: 1
    Dernier message: 24/07/2007, 12h03

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