zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Python 从入门到进阶之路(一)
    Egg 企业级应用开发框架的搭建
    koa2 从入门到进阶之路 (七)
    koa2 从入门到进阶之路 (六)
    koa2 从入门到进阶之路 (五)
    衣服洗一个月之后失踪,这个互联网洗衣平台把衣服洗出了翅膀
    CSS3 Gradient 渐变还能这么玩
    MessageChannel 消息通道
    前端面试(算法篇)
    JavaScript 中的相等操作符 ( 详解 [] == []、[] == ![]、{} == !{} )
  • 原文地址:https://www.cnblogs.com/easypass/p/2084769.html
Copyright © 2011-2022 走看看