实现效果:
知识运用:
ServiceController类的ServiceName Status属性
public string ServiceName {get; set;} //对此ServiceController实例引用的服务进行标识的名称
public ServiceControlerStatus Status {get ;} //获取由此实例引发的服务的状态 属性为枚举值之一
WaitForStatus start方法
public void Start() //启动服务
public void WaitForStatus (ServiceControllerStatus desiredStatus) //等待服务发到指定状态
实现代码:
private void button1_Click(object sender, EventArgs e) { ServiceController sc = new ServiceController(); //创建服务控制对象 sc.ServiceName = "TermService"; //启动服务名称 if (sc.Status == ServiceControllerStatus.Stopped) //判断服务状态 { try { sc.Start(); //启动服务 sc.WaitForStatus(ServiceControllerStatus.Running); } catch (InvalidOperationException) { MessageBox.Show("该服务不能启动!"); } } }