如题!!!

解决方案 »

  1.   

    ServiceController service = new ServiceController("EnergyRecordService");
    protected void btnRestart_Click(object sender, EventArgs e)
        {
            try
            {
                if (service.Status == ServiceControllerStatus.Running)
                {
                    service.Stop();
                    service.WaitForStatus(ServiceControllerStatus.Stopped);
                }
                service.Start();
                service.WaitForStatus(ServiceControllerStatus.Running);        }
            catch (Exception)
            {
            }
        }
      

  2.   


    public static void RestartService( string serviceName, int timeoutMilliseconds)
      {
        ServiceController service = new ServiceController (serviceName);
        try
        {
          int millisec1 = Environment .TickCount;
          TimeSpan timeout = TimeSpan .FromMilliseconds(timeoutMilliseconds);
     
          service. Stop ();
          service.WaitForStatus( ServiceControllerStatus .Stopped, timeout);
     
          // count the rest of the timeout
           int millisec2 = Environment .TickCount;
          timeout = TimeSpan .FromMilliseconds(timeoutMilliseconds - (millisec2-millisec1));
     
          service. Start ();
          service.WaitForStatus( ServiceControllerStatus .Running, timeout);
        }
        catch
        {
          // ...
         }
      }
      

  3.   


                        ServiceController sc = new ServiceController("服务名");                    if (!sc.Status.Equals(ServiceControllerStatus.Stopped) &&
                               !sc.Status.Equals(ServiceControllerStatus.StopPending))
                        {
                            sc.Stop();
                        }                    while (!sc.Status.Equals(ServiceControllerStatus.Stopped))
                        {
                            System.Threading.Thread.Sleep(50);
                            sc.Refresh();
                        }                    sc.Start();                    while (!sc.Status.Equals(ServiceControllerStatus.Running))
                        {
                            System.Threading.Thread.Sleep(50);
                            sc.Refresh();
                        }
      

  4.   

    好像可以调用dos命令吧...详细的忘了
      

  5.   

    关于赋予程序管理员权限,可以参照以下步骤执行:
    http://www.cnblogs.com/herbert/archive/2010/11/19/1881952.html
      

  6.   

    net stop ServiceName
    net start ServiceName
      

  7.   

    参考链接 http://www.cnblogs.com/herbert/archive/2010/11/19/1881952.html
      

  8.   


       System.Diagnostics.Process.Start("cmd.exe ", "/c   net   stop   GRSservice "); 
    这个是这样的?  我想停止GRSservice ,可是不起作用啊