VB编写的程序加入防火墙的例外中
在工程中要先引入:
NetCon 1.0 Type Library
NetFwTypeLib
- Option Explicit
- Const NET_FW_SCOPE_ALL = 0
- Const NET_FW_SCOPE_LOCAL_SUBNET = 1
- Const NET_FW_IP_VERSION_ANY = 2
- '获取Windows防火墙的当前状态
- Public Function FirewallStatus() As Boolean
- Dim fwMgr As INetFwMgr
- Dim oProfile As INetFwProfile
- On Error GoTo errHandler
- '声明Windows防火墙配置管理接口对象
- Set fwMgr = CreateObject("HNetCfg.FwMgr")
- '获取本地防火墙当前的配置对象
- Set oProfile = fwMgr.LocalPolicy.CurrentProfile
- '获取防火墙的状态,Ture表示启用,False表示禁用
- FirewallStatus = oProfile.FirewallEnabled
- Set oProfile = Nothing
- Set fwMgr = Nothing
- Exit Function
- errHandler:
- FirewallStatus = False
- MsgBox ("Error: & Err.Description")
- Err.Clear
- End Function
- '切换Windows防火墙的状态
- Public Sub SwitchFirewall()
- Dim fwMgr As INetFwMgr
- Dim oProfile As INetFwProfile
- On Error GoTo errHandler
- '声明Windows防火墙配置管理接口对象
- Set fwMgr = CreateObject("HNetCfg.FwMgr")
- '获取本地防火墙当前的配置对象
- Set oProfile = fwMgr.LocalPolicy.CurrentProfile
- '根据当前的防火墙状态相应地调整启用与禁用状态
- oProfile.FirewallEnabled = Not (oProfile.FirewallEnabled)
- Set oProfile = Nothing
- Set fwMgr = Nothing
- Exit Sub
- errHandler:
- MsgBox (Err.Description)
- Err.Clear
- End Sub
- '将当前应用程序添加到Windows防火墙例外列表
- Public Sub AddApplicationRule()
- Dim fwMgr As INetFwMgr
- Dim oProfile As INetFwProfile
- On Error GoTo errHandler
- '声明Windows防火墙配置管理接口对象
- Set fwMgr = CreateObject("HNetCfg.FwMgr")
- '获取本地防火墙当前的配置对象
- Set oProfile = fwMgr.LocalPolicy.CurrentProfile
- Dim oApplication As INetFwAuthorizedApplication
- '声明认证程序对象
- Set oApplication = CreateObject("HNetCfg.FwAuthorizedApplication")
- '设置认证程序对象的相关属性
- With oApplication
- '应用程序的完整路径
- .ProcessImageFileName = App.Path & "\" & App.EXEName & ".exe"
- '应用程序的名称,也就是在Windows防火墙例外列表中显示的名称
- .Name = "测试例子"
- '定义本规则作用的范围
- .Scope = NET_FW_SCOPE_ALL
- '定义本规则用户的IP协议版本
- .IpVersion = NET_FW_IP_VERSION_ANY
- '表示启用当前规则
- .Enabled = True
- End With
- '将创建的认证程序对象添加到本地防火墙策略的认证程序集合
- oProfile.AuthorizedApplications.Add oApplication
- Set oApplication = Nothing
- Set oProfile = Nothing
- Set fwMgr = Nothing
- MsgBox ("添加成功!")
- Exit Sub
- errHandler:
- MsgBox (Err.Description)
- Err.Clear
- End Sub
- Private Sub Command1_Click()
- SwitchFirewall
- Label1.Caption = FirewallStatus
- End Sub
- Private Sub Command3_Click()
- AddApplicationRule
- Label1.Caption = FirewallStatus
- End Sub
VB编写的程序加入防火墙的例外中的更多相关文章
- 在防火墙的例外中注册程序(Windows7和XP),改写注册表
在写程序的时候,经常遇到被防火墙拦截的情况,尤其是一些网络程序,不管是对外访问还是外部连接,都会被拦截. 在大多情况下,Windows会静默拦截外部对内的连接访问,而内部对外的访问会提示用户信息. 现 ...
- cmd命令添加一个应用程序到防火墙例外项中
windows+r 键打开运行 输入cmd按回车 把下列命令在cmd中点击右键粘贴进去,按回车,即可添加到防火墙例外程序列表中. netsh advfirewall firewall delete r ...
- 编写Java程序,模拟文件操作过程中的异常处理
返回本章节 返回作业目录 需求说明: 从控制中输入计算机磁盘中后缀名为".txt"的文件的完整物理路径. 如果该文件存在,则在控制台输出友好提示信息,告知用户该文件存在,如果文件不 ...
- 编写 Java 程序时, 如何在 Java 中创建死锁并修复它?
经典但核心Java面试问题之一.如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败.
- 梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法?
c语言实现,小伙伴们谁要有更好的实现方法,要告诉我呦 #include int main(void) { int f,i,f1=1,f2=2; printf("请输入楼梯数"); ...
- 编写一个程序,将 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 ...
- 编写Java程序,创建Dota游戏中的防御塔类,通过两个坐属性显示防御塔所在的位置
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的防御塔类 通过两个坐属性显示防御塔所在的位置 实现思路: 创建防御塔(TowerDefense)类 在该类中定义了两个属性,分别是int类型横 ...
- 编写Java程序,在子类老虎中重写父类动物的吃食方法
返回本章节 返回作业目录 需求说明: 在子类老虎中重写父类动物的吃食方法 实现思路: 在子类老虎中重写父类动物的吃食方法的实现思路如下: 创建各种动物的父类Animal类,在该类中定义eat()方法. ...
- 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...
随机推荐
- jQuery中live函数的替代-【jQuery】
在老版本的jQuery中,当需要对页面上某个由ajax加载的某片段的页面内容响应事件时,可以使用live函数来响应其事件,比如: $('a').live('click', function() { b ...
- 【转】如何向Android模拟器打电话发短信
转载地址:http://hi.baidu.com/jeremylai/item/420f9c9fe4881fccb62531f7 1. 启动Android Emulator, 查看标题栏找出端口.一般 ...
- kudu的分区方式
为了提供可扩展性,Kudu 表被划分为称为 tablets 的单元,并分布在许多 tablet servers 上.行总是属于单个 tablet .将行分配给 tablet 的方法由在表创建期间设置的 ...
- Codeforces Gym100543G Virus synthesis 字符串 回文自动机 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/CF-100543G.html 题目传送门 - CF-Gym100543G 题意 你可以对一个字符串进行以下两种操 ...
- BZOJ3772 精神污染 主席树 dfs序
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3772 题意概括 给出一个树,共n个节点. 有m条互不相同的树上路径. 现在让你随机选择2条路径,问 ...
- 自动驾驶系统 bfs
一家科技公司有一块试验地用于测试自动驾驶系统.试验地由n×m个格子组成,从上到下依次编号为第1到n行,从左到右依次编号为第1到m列.试验车位于其中的某个格子上,每次自动驾驶系统可以控制汽车往上下左右移 ...
- 010 异步处理Rest服务
一:任务 1.任务 使用Runnable异步处理Rest服务 使用DefaultResult异步处理Rest服务 异步处理的配置 2.原理图说明 二:Callable进行异步处理 1.程序 新建一个a ...
- Trace 2018徐州icpc网络赛 (二分)(树状数组)
Trace There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xx ...
- POJ 2299 Ultra-QuickSort (离散化)+【树状数组】
<题目链接> 题目大意: 给你一段序列,问你如果每次只交换该序列相邻的两个元素,最少需要交换多少步才能够使该序列变为升序排列. 解题分析: 不难发现,其实本题就是让我们求原始序列的逆序对, ...
- 把存储过程结果集SELECT INTO到临时表
把存储过程结果集SELECT INTO到临时表 在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种. 一. SELECT INTO . 使用select into会自动生成临时表,不需要 ...