zoukankan      html  css  js  c++  java
  • C#(VB.NET)操作Windows自带的防火墙 之 启用(开启)/禁用(关闭)防火墙

    转载:http://www.cnblogs.com/sjcatsoft/archive/2009/01/15/1376489.html

    在上一篇 C#(VB.NET)操作Windows自带的防火墙 之 综述篇 里,我们提到了下面这幅图

    本篇,我们就实现 启用/关闭是否允许例外 的功能


    先说明一点,因为windows自带了“安全中心” Security Center 这个功能,用程序关闭防火墙时,“安全中心” 会弹出提示,如图:

    要解决这个问题,其实很简单,就是 将 Security Center 关闭,关闭的方法: 利用 net stop 或者修改注册表 或者.NET 里面自带的windows service操作,都可以,我就不啰嗦了

    核心代码:

    C# 方式:

      /// <summary>
      /// 获取防火墙管理的当前策略
      /// </summary>
      /// <returns>返回策略对应的 object</returns>
      private static object FirewallCurrentProfile()
      {
          //获取管理防火墙的COM组件的type
          Type fwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", true);
          //创建一个COM组件的实例
          object fwMgr = Activator.CreateInstance(fwMgrType);
          //获取实例的LocalPolicy属性
          object localPolicy = fwMgrType.InvokeMember("LocalPolicy", BindingFlags.GetProperty, null, fwMgr, null);
          //获取 LocalPolicy属性的子属性CurrentProfile
          return localPolicy.GetType().InvokeMember("CurrentProfile", BindingFlags.GetProperty, null, localPolicy, null);
      }

    VB.NET 方式:

        Private Function FirewallProfile() As Object
            Dim FWMgr As Object = CreateObject("HNetCfg.FwMgr")
            Return FWMgr.LocalPolicy.CurrentProfil
        End Function

    源码下载:http://www.boxcn.net/shared/quaa9b3dle

  • 相关阅读:
    JavaScript ECMAScript版本介绍
    Webpack
    路由
    组件(重难点)
    npm包管理工具
    过滤器
    Vue实例生命周期
    数据双向绑定的原理
    MVC + MVVM
    vue事件修饰符
  • 原文地址:https://www.cnblogs.com/51net/p/2390442.html
Copyright © 2011-2022 走看看