C#使用ServiceController控制windows服务

C#使用ServiceController控制windows服务

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

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

C#使用ServiceController控制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();}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117255.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Vue生命周期函数执行顺序_生命周期函数

    Vue生命周期函数执行顺序_生命周期函数createdcreated在刚进入页面的时候,会触发该函数的方法。只在页面刚开始加载时执行一次。activated一进入页面就触发;可用于初始化页面数据等

  • 双重求和∑matlab_求和∑的性质

    双重求和∑matlab_求和∑的性质目录一、复习求和符号∑二、二重求和的定义三、双重求和∑∑交换求和顺序一、复习求和符号∑    自从约瑟夫·傅立叶于1820年引入求和符号∑(大写的希腊字母sigma)以来,求和∑以及双重求和∑∑在数学公式推导,命题证明中被经常使用,掌握它的定义和性质对于提高我们的数学能力是必不可少的。注意我们在此只讨论有限项的求和。结合律:∑i=1n(ai+b…

    2022年10月12日
  • 详解 Java 内部类

    详解 Java 内部类前言内部类在Java里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于Java中内部类的相关知识点和一些使用内部类时需要注意的点。从种类上说,内部类可以分为四类:普通内部类、静态内部类、匿名内部类、局部内部类。我们来一个个看:普通内部类这个是最常见的内部类之一了,其定义也很简单,在一个类里面作为类的一个字段直接定义就可以了,例:pub…

    2022年10月11日
  • unity3d官网下载安装教程_3D怎么安装

    unity3d官网下载安装教程_3D怎么安装入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。一、官网下载链接https://unity3d.com/cn/但是可能是因为我没翻墙,所以我根本没办法进入这个网页二、Unity3D中国官网下载但是天无绝人之路嘛可不是,让我找到了这么个大宝贝Unity所有版本下载|Unity中国官网点进链接后往下翻然后根据提示进行一些注册和登录,就可以选择你想要的版本进行下载啦三、Unity3D安装教程这里我选择.

  • csgo免费开箱网站_csgo开箱网站skincat

    csgo免费开箱网站_csgo开箱网站skincatskinsdog狗网CSGO开箱地址!csgo开箱网站官网!官方链接:skinsdog.cc注册登录自动免费获得$0.8美金推广码:csgogo(注册使用送0.8美金)支付:微信支付宝状态:直接取回

  • 协程

    协程介绍协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。、需要强调的是:对比操作系统控制

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号