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 }
  • 相关阅读:
    javascript题目,如何在重写alert后还能正常弹出alert
    mass Framework support模块 v2
    javascript suggest效果
    HTML <div> 标签的 align 属性
    SQL GROUP BY 语句
    SQL UPDATE 语句
    HTML <font> 标签
    JavaScript eval() 函数
    HTML DOM Checkbox 对象
    CSS cursor 属性
  • 原文地址:https://www.cnblogs.com/easypass/p/2084769.html
Copyright © 2011-2022 走看看