使用ServiceController组件控制计算机服务
实现效果:
知识运用:
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组件控制计算机服务的更多相关文章
- ServiceController组件控制计算机服务
private void Form1_Load(object sender, EventArgs e) { //下面的示例使用 ServiceController 类检查IIS服务是否已停止.如果该服 ...
- Form开发中组件控制的几个常用方法
转自:http://oracleseeker.com/2009/09/01/graphical_component_control_in_oracle_ebs_form/ 在Oracle EBS 的F ...
- vue+vux 父组件控制子组件弹层
知识点用到了vue父子组件之间的传值,以及使用watch和v-model控制vux中XDialog组件. 需要注意的问题: 1.父组件向子组件传值使用的是props(单向传值),子组件创建props, ...
- redux和react-redux做简单组件控制
这次我们用两种方式实现以下要求 1.三个组件 2.第一个组件有两个按钮 分别控制第二和第三个组件年龄和姓名的改变 3第二个组件展示姓名,第三个组件展示年龄 用到哪些插件 store redux 一 ...
- 用switch组件控制一个元素的显示和隐藏状态
微信小程序开发(交流QQ群:604788754) WXML: <view class="body-view"> <switch bindchange=" ...
- vue-lazy-render: 延迟渲染大组件,增强页面切换流畅度
最近用element来做项目,在开发的过程中,突然发现页面的操作和切换在数据量大的时候相当卡,后来提了个issue,在furybean解答后才知道,我每个单元格都加了tooltip,会生成大量的节点, ...
- [UE4]自定义MovementComponent组件
自定义Movement组件 目的:实现自定义轨迹如抛物线,线性,定点等运动方式,作为组件控制绑定对象的运动. 基类:UMovementComponent 过程: 1.创建UCustomMovement ...
- React学习(一)父子组件通讯
React父子组件之间通讯,利用props和state完成,首先React是单向数据流,父组件可以向子组件传递props: 实现父子组件双向数据流整体的思路是: 1,父组件可以向子组件传递props, ...
- vue组件(Vue+webpack项目实战系列之三)
组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.特别对于大型应用开发来说,尽量组件化,并且先造好轮子库,不要重复去写组件,这会显著提升项目 ...
随机推荐
- IIS 上传大文件 30MB 设置限制了上传大小
用uploadify在IIS6下上传大文件没有问题,但是迁移到IIS7下面,上传大文件时,出现HTTP 404错误. 查了半天,原来是IIS7下的默认设置限制了上传大小.这个时候Web.Config中 ...
- 一份比较完整的gulpfile.js
var gulp = require('gulp'); //工具 var autoprefixer = require('gulp-autoprefixer'); var include = requ ...
- MySQL无法启动Couldn't find MySQL server (/usr/bin/mysqld_safe)解决办法(来源网络)
MySQL无法启动Couldn't find MySQL server (/usr/bin/mysqld_safe) 启动的时候,报上述错误,从这个报错来看,多半是因为读取到了另外的my.cnf导致的 ...
- JAVAFX-1 开发应用
为什么用javafx? 写这个专题的目的,其实也是好玩,原来的熟悉的使用swing 来开发java中的gui程序,其实早就知道有javafx 这个东西的,一致没有时间的玩,最近有时间所以学习.这个专题 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)I.Fate Grand Order
链接:https://ac.nowcoder.com/acm/contest/912/I 题意: Fate Grand Order是型月社发行的角色扮演类手机游戏,是著名的氪金抽卡"垃圾&q ...
- devOps开发(Web API 实例)dotnet core 和 Azure PaaS服务
使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例) 作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何 ...
- Nginx托管.Net Core应用程序
Nginx托管.Net Core应用程序 一.安装.Net Core 参考官方文档:https://www.microsoft.com/net/core#linuxcentos 1.添加dotnet产 ...
- 去掉word文档两边的空白
1.设置-页面布局-页边距,把左边距和右边距的数据设置到最小就好,一般为0.43CM 2.把WORD页面顶部标尺,左右拉到最底,如图: 3.在打印预览里,设置页边距,操作方法同 上述 1,如图:
- 一文读懂DDD
何为DDD DDD不是架构设计方法,不能把每个设计细节具象化,DDD是一套体系,决定了其开放性,体系中可以用任何一种方法来解决这些问题,但是如果一些关键问题没有具体方案落地,可能让团队无所适从. 有的 ...
- CQRS之旅——前言(翻译)
探索CQRS和Event Sourcing 本项目聚焦在使用命令和查询分离模式和事件溯源(CQRS+Event Sourcing)构建一个具有高扩展,高可用和高维护性的应用程序. 本项目定位为一个学习 ...