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()); -
} -
} -
}
假设某一服务名为ServicesName, 编写开始服务,停止服务,重启服务的代码如下:
-
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服务,包括添加引用、获取已安装服务列表、检查服务是否存在,以及开始、停止和重启特定服务的方法。
5214

被折叠的 条评论
为什么被折叠?



