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表示的是兵营已经创建士兵的总数: ...
随机推荐
- 执行shell脚本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解决方法
在windows机器下新建了一个shell脚本如下
- jenkins(2): jenkins定时构建项目
参考:http://blog.sina.com.cn/s/blog_b5fe6b270102v7xo.html https://blog.csdn.net/xueyingqi/article/deta ...
- python--实践--模拟浏览器(http)登陆
#方法一:直接使用coookies登陆,此方法需要提前在浏览器中使用账号密码登陆后,获取浏览器中的cookies,在构造的请求中携带这个cookies(缺点是有时效性). #方法二:通过账号密码(Fr ...
- Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十一集之安装FastDFS】
1,安装FastDFS之前,先安装libevent工具包. yum -y install libevent 2,安装libfastcommonV1.0.7工具包.有可能找到新版本的zip压缩包:lib ...
- tomcat多端口配置
<?xml version="1.0" encoding="UTF-8"?> <Server port="8005" sh ...
- 用greenlet实现协程消费者生产者
代码: from greenlet import greenlet import random def pro(): 生产者 while True: item = random.randint(0,9 ...
- fastadmin默认的controller已实现的方法
fastadmin控制器 <?php namespace app\admin\controller\peizi; use app\common\controller\Backend; /** * ...
- TF之BN:BN算法对多层中的每层神经网络加快学习QuadraticFunction_InputData+Histogram+BN的Error_curve
# 23 Batch Normalization import numpy as np import tensorflow as tf import matplotlib.pyplot as plt ...
- linux命令基础三
使用cat命令进行文件的纵向合并使用cat命令实现文件的纵向合并: 例如:使用cat命令将baby.age.baby.kg和baby.sex这三个文件纵向合并为baby文件的方法:cat baby.a ...
- position 属性的值的比较
可取的四个值:static/relative/absolute/fixed static:默认值,top/right/bottom/left 无作用,z-index无效 relative:相对于原来的 ...