我正在尝试使用 win32 api 在 Windows XP 中启动和停止防火墙以更改注册表中的设置,即HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile
. 我正在尝试更改数据值,但它没有改变。那么可以告诉我如何在 Windows XP 中停止防火墙吗?
Bhrkamal
问问题
1470 次
2 回答
1
为什么要关闭防火墙?您是否从使用另一种方法的codeproject中查看了这篇文章?
编辑:从这里得到这个。
有几种解决方案可以在不提取 SP2 EXE 文件的情况下以编程方式禁用防火墙。
这里有两种方法:
1) 添加提到的注册表值,这可以在安装 SP2 之前或之后完成
自从我发布该帖子以来,注册表项路径已更改(现在是 WindowsFirewall 而不是 FirewallPolicy):
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile
\EnableFirewall=0 (DWORD data type)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\StandardProfile
\EnableFirewall=0 (DWORD data type)
如果您还想禁用该服务:
sc.exe 配置 SharedAccess 开始 = 禁用
2)以下命令行将禁用 SP2 的防火墙(必须在安装 SP2 并至少完成一次重启后运行):
netsh.exe firewall set opmode mode=disable profile=all
于 2009-08-24T06:38:45.363 回答
0
您正在运行什么服务包?微软喜欢重新定位这些键... ;-)
查看
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\EnableFirewall=0
(DWORD 数据类型)
和
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\StandardProfile\EnableFirewall=0
(DWORD 数据类型)
不过最好停止服务;-)
于 2009-08-24T06:38:12.883 回答