delphi是否可以控制windows默认的防火墙?
delphi是否可以控制windows默认的防火墙?
检测是否开启了防火墙,如果开启,就将自己的程序添加到例外。
或者控制关闭防火墙。
[解决办法]
可以
其实就是控制服务即可
[解决办法]
当然可以,WINDOWS 防火墙例外端口在注册表中的位置
xp下:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List
win7下:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
可以通过直接操作 注册表的方式加入例外端口,但是有个问题,那就是杀毒软件和WINDOWS系统自己都会报毒和报错。
可以使用微软提供的一个DLL实现加入。
Windows Firewall for Game Developers
http://msdn.microsoft.com/en-us/library/bb173455(VS.85).aspx
在C#中可以使用platform invoke调用这个dll中的函数.
Platform Invoke Tutorial
http://msdn.microsoft.com/en-us/library/aa288468.aspx
[解决办法]
另外还有就是用命令行的netsh 命令添加 例外端口也是个办法
例:我要添加一个3230 TCP和UDP端口,则为:
netsh firewall set portopening all 3230 polycom-3230 enable