在写程序的时候,经常遇到被防火墙拦截的情况,尤其是一些网络程序,不管是对外访问还是外部连接,都会被拦截。
在大多情况下,Windows会静默拦截外部对内的连接访问,而内部对外的访问会提示用户信息。
现在我们需要把自己的程序加入到防火墙的例外之中去,好让程序之间能够正常通信。
第一种方法是读写注册表的方式:
XP下是这几个键值(有的时候貌似只用2个键就行,但情况不同,最保险的方式是这4个键都写):
而在Window7下略有不同,是这几个键:
第二种方式是使用命令操作,这种方式保险性最高,适用性也高:
同样在XP下的命令:
而在Window7下这个命令虽然也可以,可系统提示不要使用这个,于是换成这个更保险(由于系统UAC的缘故):
其中的选项可以选择(XP和win7相同,但具体用法略有不同):
具体使用可以直接敲入命令,会显示帮助信息,帮助中带有示例程序。
所以,你可以再你的程序中这么使用:
在支持脚本的安装程序中,也可以直接调用,比如在winXP下,使用NSIS做安装包这么写:
可以达到同样效果。
对于删除和修改,可以查看这个命令的帮助:
然后根据里面的说明和详细例子去使用。