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表示的是兵营已经创建士兵的总数: ...
随机推荐
- centos6.9编译安装nginx
1.安装nginx所需的依赖包: yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel ...
- phpmyadmin详细的图文使用教程
做网站用到服务器有很多站长应该都会用到数据库,那么phpmyadmin的使用也会是很多新手站长头大的问题,下面小编详细介绍一下phpmyadmin详细的图文使用教程. 方法/步骤 如何进入ph ...
- mySql版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver
Mysql版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver 1. 在使用mysql时,控制台日志报错如下: Loading class `c ...
- 爬虫2 urllib3 爬取30张百度图片
import urllib3 import re # 下载百度首页页面的所有图片 # 1. 找到目标数据 # page_url = 'http://image.baidu.com/search/ind ...
- 在controller中将timestamp类型的数据通过toString()方法变成字符串
然后在miniui里面将dateFormat="yyyy-MM-dd",变成想要的格式.
- GIT结合android studio使用总结
使用GIT前请阅读(有git基础可略过) git指引 :http://www.bootcss.com/p/git-guide/ 一. 下载git http://git-scm.com/downloa ...
- POJ 1470 Closest Common Ancestors (模板题)(Tarjan离线)【LCA】
<题目链接> 题目大意:给你一棵树,然后进行q次询问,然后要你统计这q次询问中指定的两个节点最近公共祖先出现的次数. 解题分析:LCA模板题,下面用的是离线Tarjan来解决.并且为了代码 ...
- hdu1598 find the most comfortable road (枚举)+【并查集】
<题目链接> 题目大意: XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在 ...
- 001.Oracle安装部署-本地文件系统
一 环境准备 安装包:linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 二 安装Oracle准备 2.1 用户名/ ...
- SpringBoot使用Swagger2实现Restful API
很多时候,我们需要创建一个接口项目用来数据调转,其中不包含任何业务逻辑,比如我们公司.这时我们就需要实现一个具有Restful API的接口项目. 本文介绍springboot使用swagger2实现 ...