实现效果:  

  

知识运用:

  ServiceController组件的MachineName属性  //获取或设置服务所驻留的计算机名称

  public string MachineName{get;set;}    //属性值:与此ServiceController实例关联的服务的计算机名称

  ServiceName属性    //获取或设置对此实例引用的服务进行标识的名称

  public string ServiceName{get;set;}    

  Status属性    //获取由此实例引用的服务的状态

  public ServiceControllerStatus Status {get;}  //枚举值之一

  DisplayName属性  //获取或设置服务的友好名称

  public string DisplayName { get;set; }

  CanStop属性    //指示服务在启动后是否可以停止

  public bool CanStop { get; }

  Start Stop方法

实现代码:

       //启动服务
private void btn_start_Click(object sender, EventArgs e)
{
serviceController1.MachineName=".";
serviceController1.ServiceName="wuauserv";
if (serviceController1.Status == ServiceControllerStatus.Running)
{
MessageBox.Show(
serviceController1.DisplayName+"服务正在运行");
Application.Exit();
}
else
{
serviceController1.Start();
MessageBox.Show(
serviceController1.DisplayName+"服务启动成功");
btn_start.Enabled = false;
Application.Exit();
}
}
//判断状态
private void btn_status_Click(object sender, EventArgs e)
{
try
{
serviceController1.MachineName = ".";
serviceController1.ServiceName = "wuauserv";
if (serviceController1.Status == ServiceControllerStatus.Running)
{
MessageBox.Show(serviceController1.DisplayName + "服务正在运行");
btn_stop.Enabled = true;
btn_status.Enabled = false;
}
else
{
MessageBox.Show(serviceController1.DisplayName + "服务已经停止");
btn_start.Enabled = true;
btn_status.Enabled = false;
}
}
catch (Exception ee)
{ MessageBox.Show(ee.Message); }
}
//停止服务
private void btn_stop_Click(object sender, EventArgs e)
{
try
{
serviceController1.MachineName = ".";
serviceController1.ServiceName = "wuauserv";
if (serviceController1.CanStop)
{
serviceController1.Stop();
MessageBox.Show(serviceController1.DisplayName+"服务已经停止");
Application.Exit();
}
else
{
MessageBox.Show("服务不可以停止");
Application.Exit();
}
}
catch (Exception ee)
{ MessageBox.Show(ee.Message); }
}

使用ServiceController组件控制计算机服务的更多相关文章

  1. ServiceController组件控制计算机服务

    private void Form1_Load(object sender, EventArgs e) { //下面的示例使用 ServiceController 类检查IIS服务是否已停止.如果该服 ...

  2. Form开发中组件控制的几个常用方法

    转自:http://oracleseeker.com/2009/09/01/graphical_component_control_in_oracle_ebs_form/ 在Oracle EBS 的F ...

  3. vue+vux 父组件控制子组件弹层

    知识点用到了vue父子组件之间的传值,以及使用watch和v-model控制vux中XDialog组件. 需要注意的问题: 1.父组件向子组件传值使用的是props(单向传值),子组件创建props, ...

  4. redux和react-redux做简单组件控制

    这次我们用两种方式实现以下要求 1.三个组件 2.第一个组件有两个按钮 分别控制第二和第三个组件年龄和姓名的改变 3第二个组件展示姓名,第三个组件展示年龄 用到哪些插件 store  redux 一 ...

  5. 用switch组件控制一个元素的显示和隐藏状态

    微信小程序开发(交流QQ群:604788754) WXML: <view class="body-view"> <switch bindchange=" ...

  6. vue-lazy-render: 延迟渲染大组件,增强页面切换流畅度

    最近用element来做项目,在开发的过程中,突然发现页面的操作和切换在数据量大的时候相当卡,后来提了个issue,在furybean解答后才知道,我每个单元格都加了tooltip,会生成大量的节点, ...

  7. [UE4]自定义MovementComponent组件

    自定义Movement组件 目的:实现自定义轨迹如抛物线,线性,定点等运动方式,作为组件控制绑定对象的运动. 基类:UMovementComponent 过程: 1.创建UCustomMovement ...

  8. React学习(一)父子组件通讯

    React父子组件之间通讯,利用props和state完成,首先React是单向数据流,父组件可以向子组件传递props: 实现父子组件双向数据流整体的思路是: 1,父组件可以向子组件传递props, ...

  9. vue组件(Vue+webpack项目实战系列之三)

    组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.特别对于大型应用开发来说,尽量组件化,并且先造好轮子库,不要重复去写组件,这会显著提升项目 ...

随机推荐

  1. IIS 上传大文件 30MB 设置限制了上传大小

    用uploadify在IIS6下上传大文件没有问题,但是迁移到IIS7下面,上传大文件时,出现HTTP 404错误. 查了半天,原来是IIS7下的默认设置限制了上传大小.这个时候Web.Config中 ...

  2. 一份比较完整的gulpfile.js

    var gulp = require('gulp'); //工具 var autoprefixer = require('gulp-autoprefixer'); var include = requ ...

  3. MySQL无法启动Couldn't find MySQL server (/usr/bin/mysqld_safe)解决办法(来源网络)

    MySQL无法启动Couldn't find MySQL server (/usr/bin/mysqld_safe) 启动的时候,报上述错误,从这个报错来看,多半是因为读取到了另外的my.cnf导致的 ...

  4. JAVAFX-1 开发应用

    为什么用javafx? 写这个专题的目的,其实也是好玩,原来的熟悉的使用swing 来开发java中的gui程序,其实早就知道有javafx 这个东西的,一致没有时间的玩,最近有时间所以学习.这个专题 ...

  5. 长春理工大学第十四届程序设计竞赛(重现赛)I.Fate Grand Order

    链接:https://ac.nowcoder.com/acm/contest/912/I 题意: Fate Grand Order是型月社发行的角色扮演类手机游戏,是著名的氪金抽卡"垃圾&q ...

  6. devOps开发(Web API 实例)dotnet core 和 Azure PaaS服务

    使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例) 作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何 ...

  7. Nginx托管.Net Core应用程序

    Nginx托管.Net Core应用程序 一.安装.Net Core 参考官方文档:https://www.microsoft.com/net/core#linuxcentos 1.添加dotnet产 ...

  8. 去掉word文档两边的空白

    1.设置-页面布局-页边距,把左边距和右边距的数据设置到最小就好,一般为0.43CM 2.把WORD页面顶部标尺,左右拉到最底,如图: 3.在打印预览里,设置页边距,操作方法同 上述 1,如图:

  9. 一文读懂DDD

    何为DDD DDD不是架构设计方法,不能把每个设计细节具象化,DDD是一套体系,决定了其开放性,体系中可以用任何一种方法来解决这些问题,但是如果一些关键问题没有具体方案落地,可能让团队无所适从. 有的 ...

  10. CQRS之旅——前言(翻译)

    探索CQRS和Event Sourcing 本项目聚焦在使用命令和查询分离模式和事件溯源(CQRS+Event Sourcing)构建一个具有高扩展,高可用和高维护性的应用程序. 本项目定位为一个学习 ...