C#使用ServiceController控制windows服务

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("已安装");elseMessageBox.Show("未安装");}private void Form1_Load(object sender, EventArgs e){for (int i = 0; i < Services.Length; i++)listBox1.Items.Add(Services[i].DisplayName.ToString());}}}

<pre name="code" class="csharp">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服务

相关文章:

你感兴趣的文章:

标签云: