启动和停止服务

时间:2010-10-25 15:21:38

标签: c#

我使用以下代码片段来更改Windows服务的帐户和密码凭据。但是,这仅在服务停止时才有效。

如何以编程方式在进行这些更改之前停止服务,然后再次启动它?

namespace ServiceAccount
{
    class Program
    {
        static void Main(string[] args)
        {
            string serviceName = "DummyService";
            string username = ".\\Service_Test";
            string password = "Password1";

            string objPath = string.Format("Win32_Service.Name='{0}'", serviceName);
            using (ManagementObject service = new ManagementObject(new ManagementPath(objPath)))
            {
                object[] wmiParams = new object[11];
                wmiParams[6] = username;
                wmiParams[7] = password;
                service.InvokeMethod("Change", wmiParams);
            }

        }
    }
}

2 个答案:

答案 0 :(得分:6)

使用ServiceController课程。如果您知道其名称,它会公开启动和停止服务的方法。

ServiceController sc = new ServiceController("Simple Service");
if (sc.Status == ServiceControllerStatus.Stopped)
{
  sc.Start();
}

答案 1 :(得分:2)

这里有一篇文章向您展示如何:http://www.csharp-examples.net/restart-windows-service/