à cause de conflit VLC , je dois désactiver le texte avancé Windows Advanced Services de mon lancement de la demande. Y a-t-il une API spéciale pour cela? Fonctionnera-t-il pour l'utilisateur avec des droits par défaut? P>
5 Réponses :
Vous pouvez utiliser WMI pour cela. P>
Regardez ici, par exemple: http://www.csharpfriends.com /Articles/getarticle.aspx?articleid=114 P>
Cet article doit être copié / collé dans cette réponse. Cette page n'existe plus malheureusement et la machine de navigager est en panne pour moi.
Vous pouvez utiliser Servicecontroller code >
classe pour cela. Il existe des échantillons de code dans la page de documentation liée. P>
Servicecontroller Code> peut signaler si le service est désactivé ou non, mais les propriétés sont en lecture seule et ne permettent pas de désactiver tout service.
Il suffit d'exécuter "NET STOP-NAME-NAME" pour arrêter un service ou "NET START NAME-NAME" pour démarrer un service. Tapez "NET Démarrer" dans la console (CMD.EXE) afin de répertorier tous les services. P>
Vous avez besoin de privilèges d'administration afin de activer / désactiver les services. P>
ServiceController _ServiceController = new ServiceController([NameService]); if (!_ServiceController.ServiceHandle.IsInvalid) { _ServiceController.Stop(); _ServiceController.WaitForStatus(ServiceControllerStatus.Stopped, TimeSpan.FromMilliseconds(uConstante.CtTempoEsperaRespostaServico)); }
Pour le code correct: _servicecontroller.serviceHandle! = Null code> est remplacé par
! _ ServiceController.servicehandle.isinvalid && _servicecontroller.status! = ServiceControlStatus.stopped code>
La question est intitulée "Désactiver le service Windows ..." mais les réponses Tout indiquer comment arrêter un service.
La plupart de ce que vous trouverez sur Google, c'est que vous pouvez mettre à jour le registre pour désactiver quelque chose Comme ceci: p>
Process sc = Process.Start("sc.exe", "config [YourServiceName] start= disabled");
+1 C'est la seule réponse qui répond réellement à la question
Ce n'est pas vraiment poli de désactiver les services qui ne sont pas les vôtres; Peut-être que l'utilisateur a besoin de ce service en cours d'exécution. Vous devez au moins informer l'utilisateur quelque part (écran d'aide, readme, etc.).