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.Diagnostics;
using System.Collections; ///System.ServiceProcess.dll
using System.ServiceProcess;
//serviceController1 控件 namespace TEST
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Hashtable ht = new Hashtable();
private string name;
private void Form1_Load(object sender, EventArgs e)
{
LoadServices();
} private void LoadServices()
{
ht.Clear();
this.lvServices.Items.Clear();
ServiceController[] sc = ServiceController.GetServices();
foreach (ServiceController item in sc)
{
ListViewItem lviServices = this.lvServices.Items.Add(item.DisplayName);
lviServices.SubItems.Add(item.ServiceName.ToString());
lviServices.SubItems.Add(item.Status.ToString());
lviServices.SubItems.Add(item.ServiceType.ToString());
//
ht.Add(item.DisplayName, item);
}
} private void SelectProcess()
{
if (this.lvServices.SelectedItems.Count != )
return;
name = this.lvServices.SelectedItems[].SubItems[].Text;
serviceController1 = ht[name] as ServiceController; // 如果当前状态是Stopped,就应该允许用户执行开始服务
this.btnStart.Enabled = (serviceController1.Status == ServiceControllerStatus.Stopped);
//如果当前状态不是Stopped并且系统允许停止服务,就应该允许用户执 行停止服务
this.btnStop.Enabled = (serviceController1.CanStop && (!(serviceController1.Status == ServiceControllerStatus.Stopped)));
//如果当前状态不是Paused并且系统允许暂停恢复服务,就应该允许用户执行暂停服务
this.btnPause.Enabled = (serviceController1.CanPauseAndContinue && (!(serviceController1.Status == ServiceControllerStatus.Paused)));
// 如果当前状态是Paused,就应该允许用户执行恢复服务
this.btnResume.Enabled = (serviceController1.Status == ServiceControllerStatus.Paused);
} private void btnStart_Click(object sender, EventArgs e)
{
this.serviceController1.Start();
LoadServices();
} private void btnPause_Click(object sender, EventArgs e)
{
this.serviceController1.Pause();
LoadServices();
} private void btnResume_Click(object sender, EventArgs e)
{
this.serviceController1.Continue(); ;
LoadServices();
} private void btnStop_Click(object sender, EventArgs e)
{
this.serviceController1.Stop();
LoadServices();
} private void lvServices_SelectedIndexChanged(object sender, EventArgs e)
{
SelectProcess();
}
}
}

ServiceController1的更多相关文章

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

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

  2. OpenFirewall

    1.写一份json文件:将要添加防火墙例外的应用程序和端口写入到json文件中 2.打开防火墙,读取json文件添加例外 /// <summary> /// Firewall.xaml 的 ...

  3. C#启动或停止 计算机中“服务”

    第一.要添加一个引用System.ServiceProcess 第二.要在程序中使用命名空间ServiceProcess 代码片段: using System.ServiceProcess; Serv ...

  4. 使用ServiceController组件控制计算机服务

    实现效果: 知识运用: ServiceController组件的MachineName属性 //获取或设置服务所驻留的计算机名称 public string MachineName{get;set;} ...

  5. C#调用Resources.resx资源文件中的资源

    使用到了.NET中的资源文件,也就是Resources.resx,于是就学会了如何调用资源文件中的资源.首先,资源文件可以从项目属性中的资源标签添加.比如,我添加一个图片,叫做aaa.png,添加入资 ...

随机推荐

  1. java FileWriter and FileReader

    import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class FWFRD ...

  2. random circle

    <!doctype html><meta charset="utf-8"><html><head><title>D3 t ...

  3. java 开发, jdk 1.6 官方下载地址

    在oracle官方网站默认下载的jdk是最新的,目前正式版是1.8. 但有些项目要求是1.6的jdk,费了九牛二虎之力终于找到了1.6的官方版本,链接如下: http://www.oracle.com ...

  4. 解决微软的两个恶心问题(VS2008死机、Win2008 WAS无法启动)

    1.Visual Studio 2008,在切换到Web设计界面或Html Markup界面时,过一段时间就出现假死,点击任何地方没反应,也关闭不了,只能用任务管理器结束任务. 上网查了下,应该是先装 ...

  5. Bootstrap 表格和按钮

    一.表格 1.条纹状表格 行产生一行隔一行加单色背景效果 注:表格效果需要基于基本格式.table <table class="table table-striped"> ...

  6. java JDK8 学习笔记——第16章 整合数据库

    第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...

  7. angularJS自定义属性作为条件中转

    <html> <head> <meta charset="utf-8"/> <title></title> </h ...

  8. Angular自动双向绑定值

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  9. JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台

    JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓 ...

  10. 详细解读Jquery的$.get(),$.post(),$.ajax(),$.getJSON()用法

    一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第 ...