共计 2415 个字符,预计需要花费 7 分钟才能阅读完成。
存储数据结构
- 树型结构, 分支结点和叶子节点均可存储数据
- 每个节点存储的数据为 键 ->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