Bonjour,
J'aimerai envoyer une commande à un service windows tournant sur mon PC. A priori rien de compliqué, suffit d'utiliser le namespace System.ServiceProcess.
Du coup, j'ai fait une petite méthode, ça me donne ça :
Alors ça se gâte quand il s'agit de passer par la méthode ExecuteCommand(int command). Il faut passer en paramètre la commande... Enfin pas tout a fait, puisque c'est l'indicateur de la commande, qui est un int compris entre 128 et 256 si j'ai bien saisi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static void sendCommand(string serviceName, int iCommandFlag) { ServiceController service = null; try { service = new ServiceController(serviceName); if (service.Status == ServiceControllerStatus.Running) service.ExecuteCommand(iCommandFlag); } catch (Exception ex) { } }
Mais comment est-ce que je peux trouver cet indicateur ? J'ai cherché via mon ami google, mais j'ai rien trouvé qui me donne ce que je veux, et je n'ai pas non plus trouvé la correspondance avec les commandes du service windows...
Il y a un méthode qui me permet de passer de la commande du format "user friendly" au format int ?
Pour info, j'aimerais envoyer la commande /resync au service w32tm ! (S'il y a un autre moyen via code C#, je suis aussi preneur )
Partager