前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#(VB.NET)操作Windows自带的防火墙 之 启用(开启)/禁用(关闭)防火墙

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

作者头像
跟着阿笨一起玩NET
发布2018-09-18 13:25:29
8370
发布2018-09-18 13:25:29
举报

转载:https://cloud.tencent.com/developer/article/1341221

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

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

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

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

核心代码:

C# 方式:

代码语言:javascript
复制
  /// <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 方式:

代码语言:javascript
复制
    Private Function FirewallProfile() As Object
        Dim FWMgr As Object = CreateObject("HNetCfg.FwMgr")
        Return FWMgr.LocalPolicy.CurrentProfil
    End Function

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-02-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核心代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档