注册表学习和常用注册表修改
存储数据结构
- 树型结构,分支结点和叶子节点均可存储数据
- 每个节点存储的数据为 键->List<值(名称-类型-数据)>; 名称大小写不敏感
- 数据类型
- REG_BINARY 二进制类型,以十六制显示
- DWORD/QWORD 数值类型DWORD 为 32 位,QWORD 为 64 位
- REG_SZ 字符串类型 ,最大长度不能超过 255 个字符
- REG_EXPAND_SZ 扩展字符串类型 ,可解释 %变量%
- REG_MULTI_SZ
- 注册表存储的是 Hive 文件,存储路径为
\Windows\System32\config
五大根键
HKEY_USERS
Default 子键内容和 HKEY_CURRENT_USER 一致,其它不用管
HKEY_CURRENT_USER
保存了当前登录用户数据,个性化配置,键的内容随登录用户不同而不同
- ControlPanel
控制面板设置,桌面背景,容器外观等
- Software
当前环境中安装的软件设置,windows 本身内置功能
HKEY_LOCAL_MACHINE
保存的系统信息,包括硬件配置,外围设备,网络设置,所安装的软件
- HARDWARE
计算机硬件相关的各项信息,驱动程序的设置
- SAM SECURITY
用户组,用户,系统安全设置,权限分配
- SOFTWARE
已安装的软件信息,与 HKEY_CURRENT_USER/Software 不同的是,这个对所有用户都生效
- SYSTEM
系统启动,驱动程序加载等与操作系统本身相关的各项设置信息
HKEY_CLASSES_ROOT
文件类型,文件关联,图标,扩展名,哪种文件类型用哪个软件打开
HKEY_CURRENT_CONFIG
当前硬件的配置值
编写注册表脚本(第一种方法)
Windows Registry Editor Version 5.00
这个空行一定要的
[HKEY_CURRENT_USER\Software]
"键值名称"=键值
添加 / 删除子键
- 添加子键
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\键位置]
- 删除子键
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\键位置]
设置键值
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\键位置]
@="lcazhj" 设置默认值
"姓名"="LC" 设置字符串值 REG_SZ
"地址"=hex(2):hexvalue 设置字符串 REG_EXPAND_SZ
"地超"=hex(7):hexvalue 设置字符串 REG_MULTI_SZ
"年龄"=hex:22 设置二进制值
"婚否"=DWORD:00000000 设置 DWORD 值
下面是删除键值
"姓名"=-
编写注册表脚本(使用 reg 命令)
reg add "HKLM\SOFTWARE\MYCO" /v data /t REG_DWORD /d 1 /f
/v 名称
/t 数据类型 REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE
/d 数据
/f 强制执行
常用注册表解决问题示例
修改我的音乐,我的图片,我的视频,我的文档,收藏夹,桌面,下载 的默认位置
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
资源管理器中显示菜单栏
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"AlwaysShowClassicMenu"=dword:00000001
显示隐藏的文件(隐藏文件,系统隐藏文件,扩展名)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001
"ShowSuperHidden"=dword:00000001
"HideFileExt"=dword:00000000
关闭防火墙
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile]
"EnableFirewall"=dword:00000000
关闭系统更新
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoWindowsUpdate"=dword:00000001
立即刷新注册表,不用重启来生效
- 重启 explorer.exe 即可生效
- 执行命令 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
一点小推广
创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。
Excel 通用导入导出,支持 Excel 公式
博客地址:https://blog.csdn.net/sanri1993/article/details/100601578
gitee:https://gitee.com/sanri/sanri-excel-poi
使用模板代码 ,从数据库生成代码 ,及一些项目中经常可以用到的小工具
博客地址:https://blog.csdn.net/sanri1993/article/details/98664034
gitee:https://gitee.com/sanri/sanri-tools-maven