0

我正在尝试使用 win32 api 在 Windows XP 中启动和停止防火墙以更改注册表中的设置,即HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile. 我正在尝试更改数据值,但它没有改变。那么可以告诉我如何在 Windows XP 中停止防火墙吗?

4

2 回答 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 回答