博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ServiceController1
阅读量:5147 次
发布时间:2019-06-13

本文共 2968 字,大约阅读时间需要 9 分钟。

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.dllusing 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 != 1)                return;            name = this.lvServices.SelectedItems[0].SubItems[0].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();        }    }}

 

转载于:https://www.cnblogs.com/wjshan0808/p/4262204.html

你可能感兴趣的文章
反射机制
查看>>
CocoaPod
查看>>
css3实现漂亮的按钮链接
查看>>
[python基础] python 2与python 3的区别,一个关于对象的未知的坑
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
云的世界
查看>>
初识DetNet:确定性网络的前世今生
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty's Blocks
查看>>
五、宽度优先搜索(BFS)
查看>>
运行一个窗体直接最大化并把窗体右上角的最大化最小化置灰
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
WebForm——IIS服务器、开发方式和简单基础
查看>>
小实验3:实现haproxy的增、删、查
查看>>
Angular中ngModel的$render的详解
查看>>
读《格局》| 未到年纪的真理
查看>>
[转]《城南旧事》里的《送别》
查看>>
07动手动脑
查看>>