ServiceController1
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的更多相关文章
- ServiceController组件控制计算机服务
private void Form1_Load(object sender, EventArgs e) { //下面的示例使用 ServiceController 类检查IIS服务是否已停止.如果该服 ...
- OpenFirewall
1.写一份json文件:将要添加防火墙例外的应用程序和端口写入到json文件中 2.打开防火墙,读取json文件添加例外 /// <summary> /// Firewall.xaml 的 ...
- C#启动或停止 计算机中“服务”
第一.要添加一个引用System.ServiceProcess 第二.要在程序中使用命名空间ServiceProcess 代码片段: using System.ServiceProcess; Serv ...
- 使用ServiceController组件控制计算机服务
实现效果: 知识运用: ServiceController组件的MachineName属性 //获取或设置服务所驻留的计算机名称 public string MachineName{get;set;} ...
- C#调用Resources.resx资源文件中的资源
使用到了.NET中的资源文件,也就是Resources.resx,于是就学会了如何调用资源文件中的资源.首先,资源文件可以从项目属性中的资源标签添加.比如,我添加一个图片,叫做aaa.png,添加入资 ...
随机推荐
- delphi动态数组指针问题
就一个button事件 procedure TForm1.btn7Click(Sender: TObject); Type TMyArr = array of array of array of In ...
- FTS抓包看L2CAP Connection的建立(一)
一.概述 在前面的文章中介绍了inquiry和ACL connection的建立过程.这个连接建立后,L2CAP signaling channel(CID = 0x0001)就已经存在,可以 ...
- 读书笔记——《图解TCP/IP》(4/4)
经典摘抄 第八章 应用层协议概要 1.应用协议是为了实现某种应用而设计和创造的协议. 2.TCP/IP的应用层包含了管理通信连接的会话层功能.转换数据格式的表示层功能,还包括与对端主机交互的应用层功能 ...
- hiveserver2以及beeline客户端的使用
一:开启服务 1.启动前端的hiveserver2 按住ctrl+c就可以结束这个服务. 2.怎么知道已经开启的服务 如果进程在后台,可以查出来,kill这些进程. 3.后端开启服务 二:beelin ...
- zepto源码--matches--学习笔记
zepto的第一个函数,zepto.matches: 作用:用来匹配dom元素是否匹配某css selector. 它为后面的一些高级方法的实现提供了基础支持,比如事件代理,parent, close ...
- Unix网络编程(迭代服务器)
#include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/soc ...
- 计算器<代码>
import re l_no = "-4.0*-4+((-1-8.0*2*-1)-(-9.456/1.57))/8+-8*7" true_tr = "-4.0*-4+(( ...
- partial类与[MetadataType(typeof(类名))]有什么区别?
在MVC的Model中,我们可以定义很多与视图相关的元数据,这些元数据对我们开发视图起着相当重要的作用,特别是在数据验证方面.这些元数据一般情况下我们是不会定义在业务实体(或持久化实体)上面,所以很多 ...
- Emmet(之前叫Zencoding)插件安装
按 ctr+shift+P,输入 install Package,找到emmet,确认安装 Package Control Messages======================== Emmet ...
- JavaScript学习之窗口
窗口 一.Window 对象 Window 对象表示浏览器中打开的窗口.如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建 ...