在软件中控制 Windows 防火墙

在安装程序中,往往需要安装一个本地的网络服务,但是在开了 Windows 防火墙的机器上,安装了服务后即使启动了该服务,别的机器仍然无法连接,这是因为服务是在 system 账号中启动的,不会提示用户是否让该服务通过 Windows 防火墙,因此服务启动了,但是网络端口却被 Windows 防火墙屏蔽了,因此安装程序应该能够自己检测到 Windows 防火墙是否开启,如果开启应该自动将安装的服务增加到 Windows 防火墙的例外程序列表中,控制 Windows 防火墙其实很简单使用微软提供的 COM 接口就可以了,下面就是封装的类:

WindowsFirewall.h
原文地址:https://www.cnblogs.com/WonKerr/p/WinFirewall.html