Accueil > > > GESTION DES SERVICES WINDOWS
GESTION DES SERVICES WINDOWS
Information sur la source
Description
Voila, apres la suggestion des admins sur la source précédente, j'ai créé une autre similaire mais plus complete et plus longue ;) Avec cette petite application, on peut gérer (mais d'une façon simple) les services installés Comme toujour, l'application necessite des droits d'administration donc on doit ajouter un manifest pour l'assembly.
Source
- using System;
- using System.ServiceProcess;
- using System.Windows.Forms;
-
- namespace GestionDesServicesWindows
- {
- //NB: Ajout de référence: Assembly System.ServiceProcess
- // Comme toujour, elle necessite des droits d'administration, donc le manifest est necessaire
- // Bon prog ...
- public partial class frmMain : Form
- {
-
- private void frmMain_Load(object sender, System.EventArgs e)
- {
- ReadSvcs();
- }
- public frmMain()
- {
- InitializeComponent();
- }
- private void ReadSvcs()
- {
- //Vecteur contenant la liste des services
- ServiceController[] ListSvcs;
- ListViewItem LVW;
- //Lire la liste des services.
- ListSvcs = ServiceController.GetServices();
-
- lvwServices.Items.Clear();
-
- foreach (ServiceController SingleSvc in ListSvcs)
- {
- LVW = lvwServices.Items.Add(SingleSvc.DisplayName);
- LVW.SubItems.Add(SingleSvc.ServiceName);
- LVW.SubItems.Add(SingleSvc.Status.ToString());
- LVW.SubItems.Add(SingleSvc.ServiceType.ToString());
-
- System.Text.StringBuilder dependedServices = new System.Text.StringBuilder(5000,10000);
-
- foreach (ServiceController serviceController in SingleSvc.DependentServices)
- {
- dependedServices.Append(serviceController.DisplayName);
- dependedServices.Append("; ");
- }
- LVW.SubItems.Add(dependedServices.ToString());
- }
- }
-
- private void lvwServices_Click(object sender, System.EventArgs e)
- {
- //Si un élement est sélectionné
- if (lvwServices.SelectedItems[0].Text != "")
- {
- switch (lvwServices.SelectedItems[0].SubItems[2].Text)
- {
- case "Stopped":
- //S'il est stoppe
- cmdStop.Enabled = false;
- cmdStart.Enabled = true;
- cmdPause.Enabled = false;
- break;
-
- case "Running":
- cmdStop.Enabled = true;
- cmdPause.Enabled = true;
- cmdStart.Enabled = false;
- break;
-
- default:
- cmdStop.Enabled = false;
- cmdStart.Enabled = false;
- cmdPause.Enabled = false;
- break;
- }
- }
- }
-
- private void cmdStop_Click(object sender, System.EventArgs e)
- {
- if (lvwServices.SelectedItems.Count == 0) return;
- if (lvwServices.SelectedItems[0].Text != "")
- {
- StopService(lvwServices.SelectedItems[0].SubItems[1].Text);
- }
- }
-
- public void StopService(string ServiceName)
- {
- ServiceController[] ListSvcs;
- ListSvcs = ServiceController.GetServices();
- try
- {
- foreach (ServiceController SingleSvc in ListSvcs)
- {
- if (SingleSvc.ServiceName.ToUpper() == ServiceName.ToUpper())
- {
- SingleSvc.Stop();
- ReadSvcs();
- //Actualisation de la liste.
- break;
- }
- }
- }
- catch (Exception e)
- {
- MessageBox.Show("Impossible de stopper le service, il peut etre désactivé.", "Erreur: " + e.Source);
- }
- }
-
- public void StartService(string serviceName)
- {
- ServiceController[] ListSvcs;
- ListSvcs = ServiceController.GetServices();
-
- try
- {
- foreach (ServiceController SingleSvc in ListSvcs)
- {
- if (SingleSvc.ServiceName.ToUpper() == serviceName.ToUpper()) {
- SingleSvc.Start();
- ReadSvcs();
- break;
- }
- }
- }
- catch (Exception e) {
- MessageBox.Show("Impossible de démarrer le service, il peut etre désactivé.", "Erreur: " + e.Source);
- }
- }
-
- private void cmdStart_Click(object sender, System.EventArgs e)
- {
- if (lvwServices.SelectedItems.Count == 0) return;
- if (lvwServices.SelectedItems[0].Text != "")
- {
- StartService(lvwServices.SelectedItems[0].SubItems[1].Text);
- }
- }
- private void cmdRefresh_Click(object sender, System.EventArgs e)
- {
- ReadSvcs();
- }
-
- private void cmdPause_Click(object sender, EventArgs e)
- {
- if (lvwServices.SelectedItems.Count == 0) return;
- if (lvwServices.SelectedItems[0].Text != "")
- {
- PauseService(lvwServices.SelectedItems[0].SubItems[1].Text);
- }
- }
-
- private void PauseService(string serviceName)
- {
- ServiceController[] ListSvcs;
-
- ListSvcs = ServiceController.GetServices();
-
-
- foreach (ServiceController SingleSvc in ListSvcs)
- {
- if (SingleSvc.ServiceName.ToUpper() == serviceName.ToUpper())
- {
- if (SingleSvc.CanPauseAndContinue)
- SingleSvc.Pause();
- else
- {
- MessageBox.Show("Le service ne supporte pas cette opération", "Erreur");
- break;
- }
- ReadSvcs();
- break;
- }
- }
- }
- }
- }
using System;
using System.ServiceProcess;
using System.Windows.Forms;
namespace GestionDesServicesWindows
{
//NB: Ajout de référence: Assembly System.ServiceProcess
// Comme toujour, elle necessite des droits d'administration, donc le manifest est necessaire
// Bon prog ...
public partial class frmMain : Form
{
private void frmMain_Load(object sender, System.EventArgs e)
{
ReadSvcs();
}
public frmMain()
{
InitializeComponent();
}
private void ReadSvcs()
{
//Vecteur contenant la liste des services
ServiceController[] ListSvcs;
ListViewItem LVW;
//Lire la liste des services.
ListSvcs = ServiceController.GetServices();
lvwServices.Items.Clear();
foreach (ServiceController SingleSvc in ListSvcs)
{
LVW = lvwServices.Items.Add(SingleSvc.DisplayName);
LVW.SubItems.Add(SingleSvc.ServiceName);
LVW.SubItems.Add(SingleSvc.Status.ToString());
LVW.SubItems.Add(SingleSvc.ServiceType.ToString());
System.Text.StringBuilder dependedServices = new System.Text.StringBuilder(5000,10000);
foreach (ServiceController serviceController in SingleSvc.DependentServices)
{
dependedServices.Append(serviceController.DisplayName);
dependedServices.Append("; ");
}
LVW.SubItems.Add(dependedServices.ToString());
}
}
private void lvwServices_Click(object sender, System.EventArgs e)
{
//Si un élement est sélectionné
if (lvwServices.SelectedItems[0].Text != "")
{
switch (lvwServices.SelectedItems[0].SubItems[2].Text)
{
case "Stopped":
//S'il est stoppe
cmdStop.Enabled = false;
cmdStart.Enabled = true;
cmdPause.Enabled = false;
break;
case "Running":
cmdStop.Enabled = true;
cmdPause.Enabled = true;
cmdStart.Enabled = false;
break;
default:
cmdStop.Enabled = false;
cmdStart.Enabled = false;
cmdPause.Enabled = false;
break;
}
}
}
private void cmdStop_Click(object sender, System.EventArgs e)
{
if (lvwServices.SelectedItems.Count == 0) return;
if (lvwServices.SelectedItems[0].Text != "")
{
StopService(lvwServices.SelectedItems[0].SubItems[1].Text);
}
}
public void StopService(string ServiceName)
{
ServiceController[] ListSvcs;
ListSvcs = ServiceController.GetServices();
try
{
foreach (ServiceController SingleSvc in ListSvcs)
{
if (SingleSvc.ServiceName.ToUpper() == ServiceName.ToUpper())
{
SingleSvc.Stop();
ReadSvcs();
//Actualisation de la liste.
break;
}
}
}
catch (Exception e)
{
MessageBox.Show("Impossible de stopper le service, il peut etre désactivé.", "Erreur: " + e.Source);
}
}
public void StartService(string serviceName)
{
ServiceController[] ListSvcs;
ListSvcs = ServiceController.GetServices();
try
{
foreach (ServiceController SingleSvc in ListSvcs)
{
if (SingleSvc.ServiceName.ToUpper() == serviceName.ToUpper()) {
SingleSvc.Start();
ReadSvcs();
break;
}
}
}
catch (Exception e) {
MessageBox.Show("Impossible de démarrer le service, il peut etre désactivé.", "Erreur: " + e.Source);
}
}
private void cmdStart_Click(object sender, System.EventArgs e)
{
if (lvwServices.SelectedItems.Count == 0) return;
if (lvwServices.SelectedItems[0].Text != "")
{
StartService(lvwServices.SelectedItems[0].SubItems[1].Text);
}
}
private void cmdRefresh_Click(object sender, System.EventArgs e)
{
ReadSvcs();
}
private void cmdPause_Click(object sender, EventArgs e)
{
if (lvwServices.SelectedItems.Count == 0) return;
if (lvwServices.SelectedItems[0].Text != "")
{
PauseService(lvwServices.SelectedItems[0].SubItems[1].Text);
}
}
private void PauseService(string serviceName)
{
ServiceController[] ListSvcs;
ListSvcs = ServiceController.GetServices();
foreach (ServiceController SingleSvc in ListSvcs)
{
if (SingleSvc.ServiceName.ToUpper() == serviceName.ToUpper())
{
if (SingleSvc.CanPauseAndContinue)
SingleSvc.Pause();
else
{
MessageBox.Show("Le service ne supporte pas cette opération", "Erreur");
break;
}
ReadSvcs();
break;
}
}
}
}
}
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Démarrer un processus à partir d'un service windows [ par SharpMao ]
Hello,Je dois réaliser un service windows qui doit lancer à interval régulier des processus.Un de ces processus doit être lanc
Installation service Windows [ par boutonk ]
Bonjour a tous,Une question assez urgente: Comment fait-on pour installer un service windows créé en c# sur un pc qui ne possede pas d'invit
Exécution de l'application au démarrage de windows [ par Muroachi ]
Bonjour,voilà j'ai une application d'alerte, et j'aimerais que celle-ci se lance au démarrage de windons... Et que celà puisse être désactivable par l
Gestion de session windows [ par KorBen31 ]
Bonjour Je cherche a savoir si il etait possible de gere une session windows Par exemple un logiciel qui est lancer meme quand la session n'est pas ou
Services windows + impression [ par hoymille ]
Bonjour,J'ai réalisé iune application qui permet d'imprimer le contenu de fichiers dès qu'il y a des fichiers dans un certain dossier.M
Windows Service [ par z_san ]
Bonjour à tousVoilà j'ai réalisé un service Windows que j'ai créer et qui se lancera au démarrage de la bécane, je voudrais y ajouter une icône dans l
Erreur dans un service Windows [ par titi66 ]
Bonjour j'ai developpé un service Window, qui fonctionne très bien sur mon poste. Par contre quand je l'installe sur le poste définitf il refuse de
service windows multiprocesseur [ par petitou ]
Bonjour à tous,J'ai une application client/serveur qui utilise actuellement les WebServices. Le serveur est IIS et la machine possède 4 proc
Service windows formulaire [ par djissi ]
Bonjour j'ai un piti problème avec mon service windows. En effet dans le onStart de mon service j'essai d'afficher un formulaire faisant parti de mon
Service Windows [ par lamiruth ]
STP je souhaite donner un doms significatif à un service Windows développé dans un environnement VS 2005.Il s'agit du nom qui apparait dans la rubriqu
|
Derniers Blogs
[TECHDAYS2012] OUI J'Y SERAI![TECHDAYS2012] OUI J'Y SERAI! par JeremyJeanson
Bonsoir, Certes, je l'annonce avec un peu de retard, mais je serai effectivement au Techdays demain. Comme l'an dernier, je participerai au programme ATE (Ask The Expert). Si vous avez des questions Workflow, WCF, AppFabric ou plus généralement .net, n'hé...
Cliquez pour lire la suite de l'article par JeremyJeanson TFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICESTFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICES par vfabing
Afin de s'assurer du bon fonctionnement des différentes synchronisations effectuées par les TFS Integration Tools, 2 rapports sont présents dès l'installation. Il suffit alors d'effectuer les manipulations suivantes pour pouvoir les visualiser : Loca...
Cliquez pour lire la suite de l'article par vfabing CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|