J'aimerai faire un programme qui checkerai sur commande l'état d'un service avec un nom bien précis sur mon PC et me le fermer ou me le démarrer (Je suis fainéant :o) ).
J'ai testé avec le service "Windows Update" en tant que prototype pour l'utilisation de la classe "ServiceController".
class Program
{
static void Main()
{
foreach (ServiceController sc in ServiceController.GetServices())
if (sc.ServiceName == "wuauserv")
if (!(sc.Status == ServiceControllerStatus.Stopped || sc.Status == ServiceControllerStatus.StopPending))
sc.Stop();
}
}
Cependant voilà, lorsque le service "Windows Update" est bel et bien démarré, le programme plante et me renvoi sur cette exception.
J'ai essayé dans l'autre sens (Démarrer le service stoppé), et ça fonctionne !
Je lance l'exécutable en administrateur oui, à moins que tu ne me parle de laisser des droits d'administration à mon application directement ? (Dans ce cas, je ne sais pas comment ^^' )
Sillimon a écrit:
Va voir du côté de l'Event Viewer ? On y verra peut être quelque chose.
(Vérifie également que ce ne soit pas lié au service que tu as choisi).
- Edité par Sillimon il y a environ 7 heures
Le problème surgit avec tous les services Win32 & 64 (Ceux propres à Windows quoi)
Essaye de lancer Visual Studio en tant qu'admin voir si tu l'as toujours ? Je pense que ça devrait résoudre le problème (lorsque lancé sur Visual studio, tout du moins).
Ça m'a l'air de fonctionner, merci beaucoup à vous.
J'ai donc ajouté la ligne permettant de forcer l'accès administrateur à l'application.
bonne journée tout le monde !
Croyez en Raptor-Jésus.
C# - Autoriser l'accès à un service Win32
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.