实现效果:  

  

知识运用:

  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. Linux下使用sendEmail发送带附件的邮件(转载)

    转载:http://www.ttlsa.com/linux/use-sendemail-send-file/ sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件, ...

  2. Git查询

    Git查询 查询分支 git branch # 查询本地分支 git branch -a # 查询所有分支 $ git branch -a * master remotes/origin/HEAD - ...

  3. python列表逆序三种方法

    栗子: # 题目:将一个数组逆序输出. # # 程序分析:用第一个与最后一个交换. import random list =[random.randint(0,100) for _ in range( ...

  4. Spring IOC 的源码分析

    刚学习Spring的时候,印象最深的就是 DispatcherServlet,所谓的中央调度器,我也尝试从这个万能胶这里找到入口 configureAndRefreshWebApplicationCo ...

  5. c#字符串字面量

    分为两种: 1 常规字符串字面量 2逐字字面量字符串:以@字符为前缀.注意:注意逐字字面量唯一例外的是相邻的双引号组,它们被解释为单个双引号字符.

  6. High waits on control file sequential read

    High waits on control file sequential read (文档 ID 2277867.1) In case we run into an issue where cont ...

  7. Unbuntu 自动重启MySQL

    上个月,通过Unbuntu搭建了WordPress,一切运行良好. UBUNTU搭建WORDPRESS-MYSQL-APACHE 但是,最近几天,不知道啥情况,MySQL偶尔会出现Stop:影响了bl ...

  8. SSM Spring SpringMVC Mybatis框架整合Java配置完整版

    以前用着SSH都是老师给配好的,自己直接改就可以.但是公司主流还是SSM,就自己研究了一下Java版本的配置.网上大多是基于xnl的配置,但是越往后越新的项目都开始基于JavaConfig配置了,这也 ...

  9. dede用户登录时,跳转到提示页时报404错误

    做了一个项目,本地运行,用的是Apache服务器,一切正常. 可是当我把项目放到VPS中运行时,每当输入用户名登录时,调转到"成功登录,3秒钟后转向网站主页"的提示页面时,页面的顶 ...

  10. rabbitmq 不发送ack消息如何处理:rabbitmq可靠发送的自动重试机制

    转载地址:http://www.jianshu.com/p/6579e48d18ae http://www.jianshu.com/p/4112d78a8753 接这篇 在上文中,主要实现了可靠模式的 ...