w11修改ie保护模式方法
IE安全设置下有4个区域 对应的设置在不同的注册表中。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1] 是Local intranet相关操作,如果要修改受Local intranet 下的保护模式设置,请修改该项下的键2500
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2] 是受信任的站点相关操作,如果要修改受信任站点 下的保护模式设置,请修改该项下的键2500
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3] 是Intranet相关操作,如果要修改Intranet下的保护模式设置,请修改该项下的键2500
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4] 是受限制的站点相关操作,如果要修改受限制的站点下的保护模式设置,请修改该项下的键2500
IE保护模式通过修改下面这个注册表项即可,[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
2500 = 0x0 (开启),0x3(关闭)。
这里介绍下操作注册表的 几个Windows API函数
打开注册表
https://docs.microsoft.com/zh-cn/windows/desktop/api/winreg/nf-winreg-regopenkeyexa
LONG WINAPI RegOpenKeyEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
);
查找注册表项的值
https://docs.microsoft.com/zh-cn/windows/desktop/api/winreg/nf-winreg-regqueryvalueexa
LONG WINAPI RegQueryValueEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData
);
设置注册表项的值
https://docs.microsoft.com/zh-cn/windows/desktop/api/winreg/nf-winreg-regsetvalueexa
LONG WINAPI RegSetValueEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpValueName,
_Reserved_ DWORD Reserved,
_In_ DWORD dwType,
_In_ const BYTE *lpData,
_In_ DWORD cbData
);
代码实现
主要就是上面3个Windows API 函数的实现,下面直接看代码实现吧。直接用devc++ 编译运行即可。
#include <Windows.h>
#include <stdio.h>
bool checkIEProtectMode()
{
HKEY hKEY;
if ( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", 0, KEY_QUERY_VALUE, &hKEY ) )
{
DWORD PerfData = 0;
DWORD m_type = REG_DWORD;
DWORD BufferSize = sizeof(DWORD);
if ( ERROR_SUCCESS == RegQueryValueEx( hKEY, "2500", NULL, &m_type, (LPBYTE)&PerfData, &BufferSize ) )
{
if ( PerfData == 3 )
{
printf("IE保护模式当前状态:关闭\n");
RegCloseKey( hKEY );
return false;
}
}
}
RegCloseKey( hKEY );
printf("IE保护模式当前状态:打开\n");
return true;
}
bool openIEProtectMode()
{
HKEY hKEY;
if ( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", 0, KEY_ALL_ACCESS, &hKEY ) )
{
DWORD m_Dword = 0;
if( ERROR_SUCCESS == ::RegSetValueEx( hKEY,"2500",0,REG_DWORD,(PBYTE)&m_Dword,sizeof(DWORD)) )
{
printf("打开IE保护模式成功!\n");
return true;
}
}
RegCloseKey( hKEY );
printf("打开IE保护模式失败!\n");
return false;
}
bool closeIEProtectMode()
{
HKEY hKEY;
if ( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", 0, KEY_ALL_ACCESS, &hKEY ) )
{
DWORD m_Dword = 3;
if( ERROR_SUCCESS == ::RegSetValueEx( hKEY,"2500",0,REG_DWORD,(PBYTE)&m_Dword,sizeof(DWORD)) )
{
printf("关闭IE保护模式成功!\n");
return true;
}
}
RegCloseKey( hKEY );
printf("关闭IE保护模式失败!\n");
return false;
}
int main(int args, char** argv)
{
if (checkIEProtectMode() )
{
closeIEProtectMode();
checkIEProtectMode();
} else
{
openIEProtectMode();
checkIEProtectMode();
}
return 0;
}
运行效果
刚开始是关闭的
运行程序,已经通过程序打开了。


w11修改ie保护模式方法的更多相关文章
- 自制操作系统Antz(5)——深入理解保护模式与进入方法
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...
- redis之禁用保护模式以及修改监听IP
今天在安装filebeat的时候,出现了关于redis报错的问题,所以来总结一下: 报错信息是: (error) DENIED Redis is running in protected mode b ...
- ASM:《X86汇编语言-从实模式到保护模式》第17章:保护模式下中断和异常的处理与抢占式多任务
★PART1:中断和异常概述 1. 中断(Interrupt) 中断包括硬件中断和软中断.硬件中断是由外围设备发出的中断信号引发的,以请求处理器提供服务.当I/O接口发出中断请求的时候,会被像8259 ...
- ASM:《X86汇编语言-从实模式到保护模式》第15章:任务切换
15章其实应该是和14章相辅相成的(感觉应该是作者觉得14章内容太多了然后切出来了一点).任务切换和14章的某些概念是分不开的. ★PART1:任务门与任务切换的方法 1. 任务管理程序 14章的时候 ...
- ASM:《X86汇编语言-从实模式到保护模式》第14章:保护模式下的特权保护和任务概述
★PART1:32位保护模式下任务的隔离和特权级保护 这一章是全书的重点之一,这一张必须要理解特权级(包括CPL,RPL和DPL的含义)是什么,调用门的使用,还有LDT和TSS的工作原理(15章着重 ...
- ASM:《X86汇编语言-从实模式到保护模式》第11章:进入保护模式
★PART1:进入保护模式 1. 全局描述符表(Global Descriptor Table,GDT) 32位保护模式下,如果要使用一个段,必须先登记,登记的信息包括段的起始地址,段的 ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(10)-保护业务方法
前面已经讲过关于保护Web资源的方式,其中包括直接在XML文件中配置和自定义实现FilterInvocationDefinitionSource接口两种方式.在实际企业应用中,保护Web资源显得非常重 ...
- Linux操作系统基础(四)保护模式内存管理(2)【转】
转自:http://blog.csdn.net/rosetta/article/details/8570681 Linux操作系统基础(四)保护模式内存管理(2) 转载请注明出处:http://blo ...
- 聊聊Dataguard的三种保护模式实验(上)
Data Guard是Oracle高可用性HA的重要解决方案.针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protec ...
- CPU保护模式深入探秘
原文链接为:http://www.chinaunix.net/old_jh/23/483510.html 保护方式的体系结构 主要问题: 保护方式的寄存器模型 保护 ...
随机推荐
- mapboxGL2离线化应用
https://blog.csdn.net/GISShiXiSheng/article/details/120300679?spm=1001.2014.3001.5501
- C# POST multipart/form-data 方式提交数据
一.提交方法 /// <summary> /// MultipartFormData Post方式提交 /// </summary> /// <param name=&q ...
- Java开发的事务
代码来自https://blog.csdn.net/weixin_42950079/article/details/99674292 可以看出jdbc的一个事务有这么几个步骤:1.关闭sql自动提交: ...
- 配置Nginx 反向代理 + go在windows 环境下编译运行在linux的文件
在源码根目录下 创建build.bat: set GOOS=linux set GOARCH=amd64 go build -o build/myweb main.go 在终端执行: ./build. ...
- 对volatile修饰的变量使用memset函数
背景 今天面试了一家公司,面试官问了我一个开放性的问题.大致意思是,为什么对volatile修饰的变量调用memset函数,编译的时候会报错.当然,我是不知道为什么啦.之前没有遇到过嘛.不过我还是做了 ...
- springMVC的定时器
大家好,本人从事软件行业已有8年,大部分时间从事软件开发编写工作.好了废话少说了哈哈哈,直接干货. 在Java开发过程中有很多业务需求里面需要我们实时处理一些动态的业务比如库存的数据动态更新,实时数据 ...
- Honeywell安卓版手持机设置广播方式
设置>Honeywell设置>扫描设置>Internal Scanner>Default profile>Data Processing Settings>Data ...
- 多级路由,重定向之后,刷新页面报错问题:报错Unexpected token '<'
使用脚手架:vue-cli3.0vue版本:vue3.0vue-router版本:vue-router4.0 配置多级路由,首次访问,到重定向页面没有问题,然后在当前页面刷新控制台报错:Unexpec ...
- 前端复习之HTML5
HTML5 Day01: *概念: *HTML5之后,声明不在出现版本信息 *HTML5永远不可能离开JavaScript. *HTML5在移动端支持好于PC端 * ...
- Python第四章实验报告
一.实验项目名称:<零基础学Python>第四章的14道实例和4道实战 二.实验环境:IDLE(Python 3.9 64-bit) 三.实验目的和要求:熟练掌握Python序列的应用 四 ...