IE分级审查是用分级系统来帮助用户控制在该计算机上看到的Internet内容,它可以过滤掉一部分不健康的东西,即根据用户的要求,由系统自动对那些包含不良信息的网页进行过滤,仅仅只留下健康的内容浏览,从而起到了去其糟粕、取其精华的目的。打开“分级审查”功能后,只有满足或超过标准的已分级的内容才能显示出来。
简单来说 IE分级审查是可以限制浏览网页 可以让用户只能浏览指定的网页 或者完全封死浏览
如果设置了启用了 IE分级审查 浏览网页的话就会出现如下图:

刚学会用注册表API 就试试设计出专门解除这种限制一个小程序 正好可以练习一下

具体原理只是删除注册表
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies
下一个名为 Ratings 的子健 很简单~
【检查】按钮触发代码:
void CMyDlg::Onjc()
{
HKEY RegHandle;
LPBYTE Size=new BYTE [16]; // 要足够大
DWORD type_1=REG_BINARY;
DWORD cbData_1=16;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ratings",0,KEY_ALL_ACCESS,&RegHandle))
{
MessageBox("检测到 IE 并未启用分级审查 !","╰( ̄▽ ̄)╮",MB_SYSTEMMODAL);
}
else if (RegQueryValueEx(RegHandle,"Key",NULL,&type_1,Size,&cbData_1))
{
MessageBox("检测到 IE 并未设置分级审查密钥 !","╰( ̄▽ ̄)╮",MB_SYSTEMMODAL);
}
else
{
RegCloseKey(RegHandle);
MessageBox("分级审查已经被启用,请按下【强制解除】按钮强制接触此限制 !","╮(╯▽╰)╭",MB_SYSTEMMODAL);
}
}
【强制解除】按钮触发代码:
void CMyDlg::OnOK()
{
HKEY RegHandle;
LPBYTE Size=new BYTE [16]; // 要足够大
DWORD type_1=REG_BINARY;
DWORD cbData_1=16;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ratings",0,KEY_ALL_ACCESS,&RegHandle))
{
MessageBox("检测到 IE 并未启用分级审查 !","╰( ̄▽ ̄)╮",MB_SYSTEMMODAL);
}
else if (SHDeleteKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ratings"))
{
MessageBox("清除 IE 分级审查失败 !","╮(╯▽╰)╭",MB_SYSTEMMODAL);
}
else
{
MessageBox("已经完全清除 IE 分级审查 !","└(^o^)┘",MB_SYSTEMMODAL);
RegCloseKey(RegHandle);
}
}
【SHDeleteKey 函数需要添加 #include <shlwapi.h> #pragma comment(lib, "shlwapi.lib") 这两句代码 】
|