LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#使用ServiceController控制Windows服务的停止、启动、重启

admin
2021年6月15日 10:30 本文热度 4773

C#使用ServiceController控制类Windows服务,添加首次使用前引文:System.ServiceProcess,空间中引用:using System.ServiceProcess

以下示例获取本机已安装的Windows服务和应用,然后查找某一应用活服务是否已经安装。

代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.ServiceProcess;

namespace 判断机器中是否安装了某项服务或者应用

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        ServiceController[] Services = ServiceController.GetServices();

        private bool ExistSth()

        {

            bool exist = false;

            for (int i = 0; i < Services.Length; i++)

            {

                if (Services[i].DisplayName.ToString() == textBox1.Text.Trim())

                    exist = true; 

            }

            return exist;

        }

        private void button1_Click(object sender, EventArgs e)

        {

            if (ExistSth())

                MessageBox.Show("已安装");

            else

                MessageBox.Show("未安装");

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            for (int i = 0; i < Services.Length; i++)

                listBox1.Items.Add(Services[i].DisplayName.ToString());

        }

    }

}


如果某一服务名为ServicesName, 编写开始服务、停止服务、重新启动服务的代码如下:

private ServiceController _controller;

private void StopService()

{

    this._controller = new ServiceController("ServicesName");

    this._controller.Stop();

    this._controller.WaitForStatus(ServiceControllerStatus.Stopped);

    this._controller.Close();

}

private void StartService()

{

    this._controller = new ServiceController("ServicesName");

    this._controller.Start();

    this._controller.WaitForStatus(ServiceControllerStatus.Running);

    this._controller.Close();

}

private void ResetService()

{

    this._controller = new ServiceController("ServicesName");

    this._controller.Stop();

    this._controller.WaitForStatus(ServiceControllerStatus.Stopped);

    this._controller.Start();

    this._controller.WaitForStatus(ServiceControllerStatus.Running);

    this._controller.Close();

}


该文章在 2021/6/16 8:50:24 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved