• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#(VB.NET)操作Windows自带的防火墙 之 启用(开启)/禁用(关闭)防火墙 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

转载: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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#DataTable操作发布时间:2022-07-10
下一篇:
详解C# 迭代器发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap