在工程中要先引入:

NetCon 1.0 Type Library

NetFwTypeLib

  1. Option Explicit
  2. Const NET_FW_SCOPE_ALL = 0
  3. Const NET_FW_SCOPE_LOCAL_SUBNET = 1
  4. Const NET_FW_IP_VERSION_ANY = 2
  5. '获取Windows防火墙的当前状态
  6. Public Function FirewallStatus() As Boolean
  7. Dim fwMgr As INetFwMgr
  8. Dim oProfile As INetFwProfile
  9. On Error GoTo errHandler
  10. '声明Windows防火墙配置管理接口对象
  11. Set fwMgr = CreateObject("HNetCfg.FwMgr")
  12. '获取本地防火墙当前的配置对象
  13. Set oProfile = fwMgr.LocalPolicy.CurrentProfile
  14. '获取防火墙的状态,Ture表示启用,False表示禁用
  15. FirewallStatus = oProfile.FirewallEnabled
  16. Set oProfile = Nothing
  17. Set fwMgr = Nothing
  18. Exit Function
  19. errHandler:
  20. FirewallStatus = False
  21. MsgBox ("Error: & Err.Description")
  22. Err.Clear
  23. End Function
  24. '切换Windows防火墙的状态
  25. Public Sub SwitchFirewall()
  26. Dim fwMgr As INetFwMgr
  27. Dim oProfile As INetFwProfile
  28. On Error GoTo errHandler
  29. '声明Windows防火墙配置管理接口对象
  30. Set fwMgr = CreateObject("HNetCfg.FwMgr")
  31. '获取本地防火墙当前的配置对象
  32. Set oProfile = fwMgr.LocalPolicy.CurrentProfile
  33. '根据当前的防火墙状态相应地调整启用与禁用状态
  34. oProfile.FirewallEnabled = Not (oProfile.FirewallEnabled)
  35. Set oProfile = Nothing
  36. Set fwMgr = Nothing
  37. Exit Sub
  38. errHandler:
  39. MsgBox (Err.Description)
  40. Err.Clear
  41. End Sub
  42. '将当前应用程序添加到Windows防火墙例外列表
  43. Public Sub AddApplicationRule()
  44. Dim fwMgr As INetFwMgr
  45. Dim oProfile As INetFwProfile
  46. On Error GoTo errHandler
  47. '声明Windows防火墙配置管理接口对象
  48. Set fwMgr = CreateObject("HNetCfg.FwMgr")
  49. '获取本地防火墙当前的配置对象
  50. Set oProfile = fwMgr.LocalPolicy.CurrentProfile
  51. Dim oApplication As INetFwAuthorizedApplication
  52. '声明认证程序对象
  53. Set oApplication = CreateObject("HNetCfg.FwAuthorizedApplication")
  54. '设置认证程序对象的相关属性
  55. With oApplication
  56. '应用程序的完整路径
  57. .ProcessImageFileName = App.Path & "\" & App.EXEName & ".exe"
  58. '应用程序的名称,也就是在Windows防火墙例外列表中显示的名称
  59. .Name = "测试例子"
  60. '定义本规则作用的范围
  61. .Scope = NET_FW_SCOPE_ALL
  62. '定义本规则用户的IP协议版本
  63. .IpVersion = NET_FW_IP_VERSION_ANY
  64. '表示启用当前规则
  65. .Enabled = True
  66. End With
  67. '将创建的认证程序对象添加到本地防火墙策略的认证程序集合
  68. oProfile.AuthorizedApplications.Add oApplication
  69. Set oApplication = Nothing
  70. Set oProfile = Nothing
  71. Set fwMgr = Nothing
  72. MsgBox ("添加成功!")
  73. Exit Sub
  74. errHandler:
  75. MsgBox (Err.Description)
  76. Err.Clear
  77. End Sub
  78. Private Sub Command1_Click()
  79. SwitchFirewall
  80. Label1.Caption = FirewallStatus
  81. End Sub
  82. Private Sub Command3_Click()
  83. AddApplicationRule
  84. Label1.Caption = FirewallStatus
  85. End Sub

VB编写的程序加入防火墙的例外中的更多相关文章

  1. 在防火墙的例外中注册程序(Windows7和XP),改写注册表

    在写程序的时候,经常遇到被防火墙拦截的情况,尤其是一些网络程序,不管是对外访问还是外部连接,都会被拦截. 在大多情况下,Windows会静默拦截外部对内的连接访问,而内部对外的访问会提示用户信息. 现 ...

  2. cmd命令添加一个应用程序到防火墙例外项中

    windows+r 键打开运行 输入cmd按回车 把下列命令在cmd中点击右键粘贴进去,按回车,即可添加到防火墙例外程序列表中. netsh advfirewall firewall delete r ...

  3. 编写Java程序,模拟文件操作过程中的异常处理

    返回本章节 返回作业目录 需求说明: 从控制中输入计算机磁盘中后缀名为".txt"的文件的完整物理路径. 如果该文件存在,则在控制台输出友好提示信息,告知用户该文件存在,如果文件不 ...

  4. 编写 Java 程序时, 如何在 Java 中创建死锁并修复它?

    经典但核心Java面试问题之一.如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败.

  5. 梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法?

    c语言实现,小伙伴们谁要有更好的实现方法,要告诉我呦 #include int main(void) { int f,i,f1=1,f2=2; printf("请输入楼梯数"); ...

  6. 编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件中,a.txt 文件中的单词用回车符分隔,b.txt 文件中用回车或空格进行分隔。

    package IO; import java.io.*; public class test { public void connectWords(File file1, File file2, F ...

  7. 编写Java程序,创建Dota游戏中的防御塔类,通过两个坐属性显示防御塔所在的位置

    返回本章节 返回作业目录 需求说明: 创建Dota游戏中的防御塔类 通过两个坐属性显示防御塔所在的位置 实现思路: 创建防御塔(TowerDefense)类 在该类中定义了两个属性,分别是int类型横 ...

  8. 编写Java程序,在子类老虎中重写父类动物的吃食方法

    返回本章节 返回作业目录 需求说明: 在子类老虎中重写父类动物的吃食方法 实现思路: 在子类老虎中重写父类动物的吃食方法的实现思路如下: 创建各种动物的父类Animal类,在该类中定义eat()方法. ...

  9. 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。

    返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...

随机推荐

  1. H.265:网络视频的高清时代

    去年八月,爱立信公司推出了首款H.265编解码器,而在仅仅六个月之后,国际电联(ITU)就正式批准通过了HEVC/H.265标准,标准全称为高效视频编码(High Efficiency Video C ...

  2. Python 输出有颜色的字体

    https://www.cnblogs.com/hellojesson/p/5961570.html

  3. BZOJ3531 [Sdoi2014]旅行 树链剖分 线段树

    原文链接:http://www.cnblogs.com/zhouzhendong/p/8080189.html 题目传送门 - BZOJ3531 题意概括 一棵树,n个节点,每一个节点两个值,一个颜色 ...

  4. Substrings kmp

    Problem Description You are given a number of case-sensitive strings of alphabetic characters, find ...

  5. 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。

    给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" ...

  6. 016 pickle

    英文也是泡菜的意思. 学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁. 一:介绍 1.为什么使用 在开篇已经介绍了,但是我这里粘贴一下 ...

  7. Zookeeper安装使用

    一:zookeeper介绍 Zookeeper 分布式协调组件.本质一个软件. Zookeeper常用功能 1 发布订阅功能.把zookeeper当作注册中心原因. 2 分布式/集群管理功能. 使用j ...

  8. Shiro笔记(二)Shiro集成SpringMVC的环境配置

    0.pom文件引入 <!-- SECURITY begin --> <dependency> <groupId>org.apache.shiro</group ...

  9. mac docker环境搭建mysql主从同步服务器

    参考地址:https://www.cnblogs.com/jinjiangongzuoshi/p/9299275.html 1.下载镜像 docker pull mysql:5.7.19 2.建立配用 ...

  10. scrapy选择器归纳

    python 爬虫: srcrapy框架xpath和css选择器语法 Xpath基本语法 一.常用的路径表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 //div ...