windows开发经常会使用IE浏览器,例如Http编程。很多时候我们需要修改Internet选项中的cookies,高级设置,tls1.0 tls1.2之类的子项,这时可以使用修改注册表方法达到目的,微软内置软件多以注册表形式作为参数。问题又来了,注册表的选项纷繁复杂,里面的值代表什么意思?

下面教大家一个小技巧,在不知道修改项位置和数值含义的情况下,轻松找出目标并正确修改。

关于Internet选项注册表路径

Win+R呼出【运行】,输入 regedit 打开注册表工具,Internet选项在下面路径:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

举一个栗子:

修改Internet选项 - 高级,启用tls1.0 & tls1.1 & tls1.2。

首先,我也不知道启用1.0,1.1,1.2需要怎么设置,原本是只开启1.0  1.1的,禁止了1.2。

第一步

在默认值的情况下,打开上文路径Internet Settings注册表,右击选择导出,命名为reg01。

第二步

打开IE浏览器 - Internet选项 - 高级,手动把TLS1.2勾上,保存并关闭。再次导出Internet Settings注册表,命名为reg02。

第三步

打开文本对比工具,此处推荐一个在线对比网站 http://www.newjson.com/Static/Tools/Diff.html

导入reg01,reg02对比,发现 SecureProtocols数值改变了,由0x0280变成了0x0a80,其余数值没有变。便可以断定0x0a80就代表同时勾选TLS1.0  1.1  1.2。

注册表中对应的内容如下

C++修改对应位置的注册表数值。

知道了修改项位置和数值内容,就可以coding了。c++代码如下

#include <windows.h>
#include <iostream>
using namespace std;HKEY OpenKey(HKEY hRootKey, wchar_t* strKey)
{HKEY hKey;LONG nError = RegOpenKeyEx(hRootKey, strKey, NULL, KEY_ALL_ACCESS, &hKey);if (nError==ERROR_FILE_NOT_FOUND){cout << "Creating registry key: " << strKey << endl;nError = RegCreateKeyEx(hRootKey, strKey, NULL, NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL, &hKey, NULL);}if (nError)cout << "Error: " << nError << " Could not find or create " << strKey << endl;return hKey;
}void SetVal(HKEY hKey, LPCTSTR lpValue, DWORD data)
{LONG nError = RegSetValueEx(hKey, lpValue, NULL, REG_DWORD, (LPBYTE)&data, sizeof(DWORD));if (nError)cout << "Error: " << nError << " Could not set registry value: " << (char*)lpValue << endl;
}DWORD GetVal(HKEY hKey, LPCTSTR lpValue)
{DWORD data;        DWORD size = sizeof(data);    DWORD type = REG_DWORD;LONG nError = RegQueryValueEx(hKey, lpValue, NULL, &type, (LPBYTE)&data, &size);if (nError==ERROR_FILE_NOT_FOUND)data = 0; // The value will be created and set to data next time SetVal() is called.else if (nError)cout << "Error: " << nError << " Could not get registry value " << (char*)lpValue << endl;return data;
}int main()
{// 打开Internet选项位置HKEY hKey = OpenKey(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings");DWORD vv = GetVal(hKey, L"SecureProtocols");  //0x0280vv = 2688; //0x0a80// 修改十进制数值SetVal(hKey, L"SecureProtocols", vv);RegCloseKey(hKey);return 0;
}

关于注册表编程,可以参考 https://www.cnblogs.com/john-h/p/5886870.html

举一反三

回看前面说的,如果想修改Internet选项的其他内容,只需要对比修改前后的regedit文本,找出对应项和对应数值。

这样,在不知道数值含义和参数位置情况下,也能轻松达到目的。

【C++】c++修改IE浏览器的Internet选项相关推荐

  1. ie浏览器调用本地文件无反应_IE浏览器工具--internet选项--设置--查看文件为什么打不开没反应...

    展开全部 这种情况,最快捷的方式是使用电脑62616964757a686964616fe78988e69d8331333332633536管家的电脑诊所功能修复一下,一键就可以完成,避免复杂的手动修复 ...

  2. IE8浏览器为什么没有工具-internet选项

    IE8浏览器为什么没有工具-internet选项 在命令栏的空白处右击--命令栏C...

  3. ie浏览器服务器ini文件在哪,具体方法如下: 1、打开Internet 选项(打开IE浏览器Internet选项窗口的方法)...

    最近,有Win8.1系统的用户在局域网上打开IE浏览器,浏览器网页的时候,总是要等待很久才会显示网页,这样很是浪费时间啊!遇到这样的问题,我们应该如何处理呢?今天,小编就和大家说一下Win8.1局域网 ...

  4. xp计算机被限制,xp系统打开浏览器internet选项提示“由于计算机受到限制,本次操作已被取消”的还原办法...

    今天和大家分享一下xp系统打开浏览器internet选项提示"由于计算机受到限制,本次操作已被取消"问题的解决方法,在使用xp系统的过程中经常不知道如何去解决xp系统打开浏览器in ...

  5. 项目中js文件修改后浏览器不能及时更新的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 现在就分别把IE,firefox,chrome中解决办法贴出来供大家参考: 1.firefox(火狐浏览器)解决问题 第一步, ...

  6. WIN10-IE首页劫持后通过Internet选项更改首页无效问题

    今天倒霉得很--达尔优官网没有一代牧马人驱动,搞得我上网下驱动被首页劫持了IE和Edge.Edge倒是智能得很,重置了之后像没事儿浏览器一般:倒是IE很麻烦,怎么重置设置也没用(想来也是,Edge或许 ...

  7. html注册表,通过注册表修改IE浏览器

    通过注册表修改IE浏览器 给IE5添加多个HTML编辑器 HKEY_CURRENT_USER\ Software\Microsoft\Internet Explorer\Default HTML Ed ...

  8. win7 html做背景,Win7系统修改IE浏览器页面背景颜色的技巧

    Win7系统打开IE浏览器网页的背景颜色都是默认的,长时间预览网页后,会觉得眼睛干涩,非常不舒服.出现这样情况很有可能是网页背景颜色不适应导致的,只要更换舒适缓和的背景颜色就可以解决问题了,如何设置修 ...

  9. 浏览器怎样更新java,Eclipse中js文件修改后浏览器不能及时更新的解决办法

    现在就分别把IE,firefox,chrome中解决办法贴出来供大家参考: 1.firefox(火狐浏览器)解决问题 第一步,在浏览器中敲入:about:config ,然后回车 第二步,在显示出的内 ...

  10. 修改360浏览器 标题栏 显示的文字

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 修改360浏览器 标题栏 显示的文字 === ...

最新文章

  1. Android TextView 数字后面追加2个0 或者保留小数点后面2位
  2. 使用Gensim来实现Word2Vec和FastText
  3. 分苹果问题的C++和Python实现
  4. uniGUI试用笔记(二)
  5. mysql create table 语法详解
  6. 排球比赛计分规则功能说明书
  7. 专访阿里巴巴量子实验室:最强量子电路模拟器“太章”到底强在哪?
  8. python正则匹配ip地址_python 正则表达式匹配IP地址
  9. 安卓传感器全解:注册、注销传感器、监听传感器,距离传感器、方向传感器、陀螺仪、加速计、磁场、气压传感器
  10. 第二十三期 基于hg255d的OpenWrt固件编译《路由器就是开发板》
  11. JavaScript基础大总结
  12. mac book usb 故障修复
  13. 作为应聘者 面试结束时应该问面试官一些什么问题呢
  14. 非形式逻辑(01)概念及其种类
  15. matlab中用simulink仿真六足机器人
  16. 【文末有福利! 】刷脸开锁:背后的技术绝招
  17. suricata中的单模匹配和多模匹配
  18. android 股票曲线 动态,各种曲线图表。矩形 圆形,股票
  19. MATLAB 在线帮助文档
  20. 200 PORT command successful. Consider using PASV / Linux 部署vsftp不能正常访问

热门文章

  1. org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates
  2. Kafka系列9:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(上)
  3. 李航《统计学习方法》第一章复习与习题参考解答
  4. 神经网络,英文字母识别
  5. 蓝叠手机模拟器使用技巧
  6. 工业级4g无线路由器_工业级4g无线路由器厂家品牌
  7. KETTLE使用通配符匹配多个文件输入到一张表中
  8. Scratch 游戏项目学习法 —— 接苹果(六)让苹果掉到下面
  9. CSS中如何撑起内容为空的div
  10. python 嵌入式webserver 服务器 状态监控