windows7关闭系统防火墙

仙度瑞城 2011-08-08 09:33:56
在windowsXP下通过修改注册表中防火墙相关值可以实现关闭防火墙,不过在windows7下虽然成功修改了注册表防火墙相关值,但是系统的防火墙还是开着,这是为什么呢?或者是不是有其他办法可以实现关闭windows7系统防火墙呢?相关代码如下

HKEY hKey;
LPCTSTR FirewallDir = _T("System\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\StandardProfile");
::RegOpenKeyEx(HKEY_LOCAL_MACHINE, FirewallDir, 0, KEY_WRITE, &hKey);
DWORD dwValue = 0;
::RegSetValueEx(hKey, _T("EnableFirewall"), NULL, REG_DWORD, (BYTE*)&dwValue, sizeof(dwValue));
::RegCloseKey(hKey);
...全文
362 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
just code 2011-09-29
  • 打赏
  • 举报
回复
为什么我已经关闭了系统防火墙服务,但是在win7的情况下还是不能icmp访问呢,如果开启防火墙服务,只需要关闭防火墙就可以了
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 lactoferrin 的回复:]
mpsdrv是驱动程序,在设备管理器里面看
或者直接看注册表
[/Quote]
在windows7下停止服务MpsSvc就可以了..
Lactoferrin 2011-08-09
  • 打赏
  • 举报
回复
mpsdrv是驱动程序,在设备管理器里面看
或者直接看注册表
Lactoferrin 2011-08-09
  • 打赏
  • 举报
回复
运行services.msc,找到服务,右键,属性
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lactoferrin 的回复:]
那里要服务名,不是显示名,而且windows7里面的显示名是Windows Firewall
比如在windows xp里面服务名是SharedAccess,windows vista里面的服务名是MpsSvc
而且在windows vista ,windows 7里面你可能还要停止bfe和mpsdrv
[/Quote]
在windowsXP选择控制面板-->性能和维护-->管理工具-->服务-->名称就是我选择填入的服务名称
在windows7下打开任务管理器选择服务选项卡下的名称就是我选择填入的服务名称
是这样的么?
在windowsXP下没有看见你说的ShareAccess
在windows7下没有砍价你你说的mpsdrv
jackyjkchen 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lactoferrin 的回复:]
那里要服务名,不是显示名,而且windows7里面的显示名是Windows Firewall
比如在windows xp里面服务名是SharedAccess,windows vista里面的服务名是MpsSvc
而且在windows vista ,windows 7里面你可能还要停止bfe和mpsdrv
[/Quote]
++,服务名也是错的
Lactoferrin 2011-08-09
  • 打赏
  • 举报
回复
那里要服务名,不是显示名,而且windows7里面的显示名是Windows Firewall
比如在windows xp里面服务名是SharedAccess,windows vista里面的服务名是MpsSvc
而且在windows vista ,windows 7里面你可能还要停止bfe和mpsdrv
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jackyjkchen 的回复:]
(LPCWSTR)"Windows Firewall/Internet Connection Sharing(ICS

唉,字符集的问题,VC6时代遗留下来的坏习惯,网上99%的代码都是错的,千万别信

这里用TEXT(字符串)或_T(字符串)
[/Quote]
(LPCWSTR)"Windows Firewall/Internet Connection Sharing(ICS)
改成
_T("Windows Firewall/Internet Connection Sharing(ICS))之后还是返回2
jackyjkchen 2011-08-09
  • 打赏
  • 举报
回复
(LPCWSTR)"Windows Firewall/Internet Connection Sharing(ICS

唉,字符集的问题,VC6时代遗留下来的坏习惯,网上99%的代码都是错的,千万别信

这里用TEXT(字符串)或_T(字符串)
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jackyjkchen 的回复:]
引用 5 楼 ryan_332595319 的回复:
引用 3 楼 lactoferrin 的回复:
停止服务

停止服务代码怎么编写呢?没有写过呢...

system调用net stop servicename

其实你可以下一个sysinternels工具(微软官网有),里面有个procmon,监控注册表和磁盘io,你手动停止一下防火墙,看windows后台到底都干了些什么
[/Quote]

int FirewallDisabled()
{
SERVICE_STATUS sStatus;
SC_HANDLE hManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (hManager == NULL)
{
return 1;
}

//Windows Firewall/Internet Connection Sharing(ICS) for WindowsXP
//MpsSvc for windows7
SC_HANDLE hService = OpenService(hManager,(LPCWSTR)"Windows Firewall/Internet Connection Sharing(ICS)", SERVICE_ALL_ACCESS);
if (hService == NULL)
{
return 2;
}

BOOL bControl = ControlService(hService, SERVICE_CONTROL_STOP, &sStatus);
if (bControl == 0)
{
return 3;
}

CloseServiceHandle(hManager);
CloseServiceHandle(hService);

return 0;
}

这样写可以么?可是函数总是返回2,这是为什么呢?
jackyjkchen 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ryan_332595319 的回复:]
引用 3 楼 lactoferrin 的回复:
停止服务

停止服务代码怎么编写呢?没有写过呢...
[/Quote]
system调用net stop servicename

其实你可以下一个sysinternels工具(微软官网有),里面有个procmon,监控注册表和磁盘io,你手动停止一下防火墙,看windows后台到底都干了些什么
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lactoferrin 的回复:]
停止服务
[/Quote]
停止服务代码怎么编写呢?没有写过呢...
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gaomingok 的回复:]
停止服务 的方法呢?
[/Quote]
停止服务代码没有写过...可以给段示例代码么?
仙度瑞城 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lactoferrin 的回复:]
运行services.msc,找到服务,右键,属性
[/Quote]
谢谢...问题解决...结贴散分
Lactoferrin 2011-08-08
  • 打赏
  • 举报
回复
停止服务
gaomingok 2011-08-08
  • 打赏
  • 举报
回复
停止服务 的方法呢?
仙度瑞城 2011-08-08
  • 打赏
  • 举报
回复
0回复...看来这个问题比较棘手

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧