usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Collections;usingSystem.ServiceProcess;///made by george///date:2014-05-30///QQ:709617880
namespacesystemServiceMng
{//设置操作枚举类型
public enumopertType{ start,stop,pause,reStart };public classsystServiceMng
{///
///获取系统所有服务对象///
///
publicArrayList getAllsystemServices() {
ArrayList arryServices= newArrayList();
ServiceController[] services=ServiceController.GetServices();foreach(ServiceController a inservices){
arryServices.Add(a);
}returnarryServices;
}///
///获取所有服务名,返回list///
///
public ListgetAllServiceNames() {
List listNames = new List();
ServiceController[] services=ServiceController.GetServices();foreach (ServiceController a inservices)
{
listNames.Add(a.DisplayName);
}returnlistNames;
}///
///设置指定服务///
/// 服务显示名
/// 操作类型
/// true 设置成功,false设置失败
public Boolean setService(stringserviceName,opertType oper) {
Boolean isok= false;
ServiceController[] allServices=System.ServiceProcess.ServiceController.GetServices();foreach (ServiceController sc inallServices)
{if (sc.DisplayName.Trim() ==serviceName.Trim())
{if (oper.ToString() == "start")
{
sc.Start();if (sc.Status.ToString() == "Running") isok = true;
}if (oper.ToString() == "stop")
{
sc.Stop();if (sc.Status.ToString() == "Stopped") isok = true;
}if (oper.ToString() == "pause")
{
sc.Pause();if (sc.Status.ToString() == "Pause") isok = true;
}if (oper.ToString() == "reStart")
{
sc.Continue();if (sc.Status.ToString() == "Running") isok = true;
}
}
}returnisok;
}///
///检测服务状态///
///
///
public Boolean checkServiceIsRunning(stringserviceName) {
ServiceController[] allServices=System.ServiceProcess.ServiceController.GetServices();
Boolean runing= false;foreach (ServiceController sc inallServices)
{if (sc.DisplayName.Trim() ==serviceName.Trim())
{if (sc.Status.ToString() == "Running")
{
runing= true;
}
}
}returnruning;
}///
///获取服务状态///
/// 服务显示名
///
public String getStatue(stringserviceName) {
ServiceController[] allServices=System.ServiceProcess.ServiceController.GetServices();foreach (ServiceController sc inallServices)
{if (sc.DisplayName.Trim() ==serviceName.Trim())
{returnsc.Status.ToString();
}
}return "";
}
}
}