none
有什么API或者命令 可以重启WIN10 防火墙服务吗? RRS feed

全部回复

  • net start/stop或sc start/stop 是控制服务的命令行

    firewall的服务名称

    Windows XP:  sharedaccess

    Windows Vista / 7: mpssvc

    To stop Firewall service on Windows XP, type

    sc stop sharedaccess

    . Similarly, to start it , type

    sc start sharedaccess

    把这个命令封装为DOS Batch文件可实现您说的功能

    或是直接调用windows service 接口

    http://www.csharp-examples.net/restart-windows-service/

    Start, Stop and Restart Windows Service [C#]

    This example shows how to start, stop and restart a windows service programmatically in C#.

    Start service

    The following method tries to start a service specified by a service name. Then it waits until the service is running or a timeout occurs.

    [C#]
    public static void StartService(string serviceName, int timeoutMilliseconds)
    {
      ServiceController service = new ServiceController(serviceName);
      try
      {
        TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
    
        service.Start();
        service.WaitForStatus(ServiceControllerStatus.Running, timeout);
      }
      catch
      {
        // ...
      }
    }
    
    

    Stop service

    The following method tries to stop the specified service and it waits until the service is stopped or a timeout occurs.

    [C#]
    public static void StopService(string serviceName, int timeoutMilliseconds)
    {
      ServiceController service = new ServiceController(serviceName);
      try
      {
        TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
    
        service.Stop();
        service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
      }
      catch
      {
        // ...
      }
    }
    
    

    Restart service

    This method combinates both previous methods. It tries to stop the service (and waits until it's stopped) then it begins to start the service (and waits until the service is running). The specified timeout is used for both operations together.

    [C#]
    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
      {
        // ...
      }
    }
    
    


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2018年3月8日 1:03