ServiceController控制windows服务

1、引用System.ServiceProcess.dll

2、引用System.ServiceProcess命名空间

     using System.ServiceProcess;

 

3、.声明ServiceController变量

   private ServiceController _controller;

 

4、假设服务名为ServicesName, 编写开始服务,停止服务,重启服务的代码如下

A:开始服务

  
  
1 private void StartService() 2 { 3 this ._controller = new ServiceController( " ServicesName " ); 4 try 5 { 6 if ((_controller.Status.Equals(ServiceControllerStatus.Stopped)) || 7 (_controller.Status.Equals(ServiceControllerStatus.StopPending))) 8 { 9 _controller.Start(); 10 } 11 else 12 { 13 _controller.Stop(); 14 } 15 } 16 finally 17 { 18 this ._controller.Refresh(); 19 this ._controller.Close(); 20 } 21 }

B:停止服务

  
  
1 private void StopService() 2 { 3 this ._controller = new ServiceController( " ServicesName " ); 4 try 5 { 6 this ._controller.Stop(); 7 this ._controller.WaitForStatus(ServiceControllerStatus.Stopped); 8 } 9 finally 10 { 11 this ._controller.Refresh(); 12 this ._controller.Close(); 13 } 14 }

C:重启服务

  
  
1 private void ResetService() 2 { 3 this ._controller = new ServiceController( " ServicesName " ); 4 try 5 { 6 this ._controller.Stop(); 7 this ._controller.WaitForStatus(ServiceControllerStatus.Stopped); 8 this ._controller.Start(); 9 this ._controller.WaitForStatus(ServiceControllerStatus.Running); 10 } 11 finally 12 { 13 this ._controller.Refresh(); 14 this ._controller.Close(); 15 } 16 }

D:若已停止则启动反则停止

  
  
1 private void SStopService() 2 { 3 this ._controller = new ServiceController( " ServicesName " ); 4 try 5 { 6 this ._controller.Stop(); 7 this ._controller.WaitForStatus(ServiceControllerStatus.Stopped); 8 this ._controller.Start(); 9 this ._controller.WaitForStatus(ServiceControllerStatus.Running); 10 } 11 finally 12 { 13 this ._controller.Refresh(); 14 this ._controller.Close(); 15 } 16 17 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值