标签:
C#中,使用ServiceController类控制windows服务,使用之前要先添加引用:System.ServiceProcess,然后在命名空间中引用:using System.ServiceProcess。下面举例获取本机的所有已安装的Windows服务和应用,然后查找某一应用活服务是否已经安装。
代码:
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.ServiceProcess; namespace 判断机器中是否安装了某项服务或者应用 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } ServiceController[] Services = ServiceController.GetServices(); private bool ExistSth() { bool exist = false; for (int i = 0; i < Services.Length; i++) { if (Services[i].DisplayName.ToString() == textBox1.Text.Trim()) exist = true; } return exist; } private void button1_Click(object sender, EventArgs e) { if (ExistSth()) MessageBox.Show("已安装"); else MessageBox.Show("未安装"); } private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < Services.Length; i++) listBox1.Items.Add(Services[i].DisplayName.ToString()); } } }
private ServiceController _controller; private void StopService() { this._controller = new ServiceController("ServicesName"); this._controller.Stop(); this._controller.WaitForStatus(ServiceControllerStatus.Stopped); this._controller.Close(); } private void StartService() { this._controller = new ServiceController("ServicesName"); this._controller.Start(); this._controller.WaitForStatus(ServiceControllerStatus.Running); this._controller.Close(); } private void ResetService() { this._controller = new ServiceController("ServicesName"); this._controller.Stop(); this._controller.WaitForStatus(ServiceControllerStatus.Stopped); this._controller.Start(); this._controller.WaitForStatus(ServiceControllerStatus.Running); this._controller.Close(); }
C#使用ServiceController控制windows服务
标签:
原文地址:http://blog.csdn.net/lucky51222/article/details/44265817