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表示的是兵营已经创建士兵的总数: ...
随机推荐
- COMException: The data necessary to complete this operation is not yet available.
问题描述: 最近在公司AE项目中遇到了下面的问题: COMException: The data necessary to complete this operation is not yet ava ...
- 通过java代码进行impala和kudu的对接
对于impala而言,开发人员是可以通过JDBC连接impala的,有了JDBC,开发人员可以通过impala来间接操作kudu: maven导包: <!-- https://mvnreposi ...
- Python题目练习(二)
1.如何实现对python列表去重,并保持原来顺序 li = [1,2,5,3,1,6,3,8,0,3,2,4] l = [] for i in li: if i not in l: l.append ...
- Centos 6.5 本地局域网基于HTTP搭建YUM
服务端配置 init 3 文本 init5 图形 init 0 关机 init 1 重启 ls 查看 mkdir创建文件 关闭防火墙service iptables stop chkconfig ...
- 修改注册表.exe的文件目录
文件打开方式不能选择默认打开文件 cmd >regedit 以sublime_text为例 HKEY_CLASSES_ROOT/Applications/sublime_text.exe/she ...
- 04. Pandas 3| 数值计算与统计、合并连接去重分组透视表文件读取
1.数值计算和统计基础 常用数学.统计方法 数值计算和统计基础 基本参数:axis.skipna df.mean(axis=1,skipna=False) -->> axis=1是按行来 ...
- SSH框架学习------struts2(一)
1.总的目录 2.所有程序 1)index.jsp很简单 <%@ page language="java" contentType="text/html; char ...
- Python 爬虫利器 Selenium 介绍
Python 爬虫利器 Selenium 介绍 转 https://mp.weixin.qq.com/s/YJGjZkUejEos_yJ1ukp5kw 前面几节,我们学习了用 requests 构造页 ...
- 打印星星 - Python
打印星星是经典面试题目,考察流程控制中的循环和条件.本文对相关方法进行总结. 到的方法只要有(1)嵌套循环(2)center(3)format(^)(4)字符串乘法 # -*- coding:utf- ...
- P2347 砝码称重-DP方案数-bitset
P2347 砝码称重 DP做法 : 转化为 01背包. 进行方案数 更新.最后统计种类. #include<bits/stdc++.h> using namespace std; #def ...