wpf实现Windows服务检测、关闭和开启
做了一个检查的flash的小工具,主要是刷新flash的服务
需要引用using System.ServiceProcess;来检查windows的所有服务
在这里插入代码片
public MainWindow()
{
InitializeComponent();
CheckServerState("Flash Helper Service");
}
public void CheckServerState(string ServiceName)
{
int index;
//所有Windows服务集合
ServiceController[] service = ServiceController.GetServices();
bool isState = false;
bool isExite = false;
for (int i = 0; i < service.Length; i++)
{
//判断对应的服务
if (service[i].ServiceName.ToUpper().Equals(ServiceName.ToUpper()))
{
index = i;
isExite = true;
//server = service[i];
if (service[i].Status == ServiceControllerStatus.Running)
{
service[i].Stop();
service[i].WaitForStatus(ServiceControllerStatus.Stopped);
service[i].Start();
service[i].WaitForStatus(ServiceControllerStatus.Running);
isState = true;
break;
}
else
{
try
{
service[i].Start();
}
catch
{
}
}
}
}
if (!isExite)
{
MessageBox.Show("不存Flash Helper Service服务");
}
else
{
if (isState)
{
MessageBox.Show("Flash Helper Service服务已启动");
this.Close();
}
else
{
MessageBox.Show("Flash Helper Service服务已启动");
//这个是为了不显示主界面,只需要一个show的窗口
this.Close();
}
}
}
上面的代码主要就是判断服务那块。