自己动手写reg注册表文件

版权声明:本文为博主原创文章,未经博主允许不得转载。
REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。通过约定的格式,我们可以利用REG文件直接对注册表进行任何修改操作,而且它对注册表的操作可以不受Regedit.exe被禁用的限制,因此功能更为强大、灵活;此外,由于REG文件可以用任何文本编辑器/(如记事本/进行打开、编辑、修改,可以在发生错误的时候,通过改回REG文件中的数据后再导入,实现恢复操作,因此它更方便、安全。
怎么做?
REG文件对于注册表的操作可以归结为以下几种:新建主键、删除主键、新建键值、修改键值、删除键值,我们分别来看一下。以下实际操作以在Windows2000/XP中为例。
1.新建主键
引用内容例如我们想在主键[HKEY_CURRENT_USER/Soft-ware]下新建一个名叫“新建主键名称”的主键。那么,我们可以打开记事本,写入如下内容:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER/Software/新建主键名称]
输入完成后另存为一个形如“*.reg”的文件,再双击将其导入到注册表中,我们可以立杆见影地看到修改后的效果。
2.删除主键
引用内容要用REG文件在注册表中删除一个主键,方法是在[]中的主键路径前面加上一个-符号即可。值得注意的是,删除主键操作将会一并删除该主键下的所有子键及其键值项目。例如要删除我们刚才添加的那个主键,可以在记事本上输入下面的内容:
WindowsRegistryEditorVer-sion5.00
[-HKEY_CURRENT_USER/Software/新建主键名称]
接下来,只要另存为一个*.reg文件,并双击将其导入注册表中即可立即生效。
3.新建键值
引用内容在注册表编辑器右侧的键值项窗口空白处单击右键,选择“新建”菜单项,可以看到这些键值被细分为:字符串值、二进制值、DWORD值等几种类型。
字符串值(REG_SZ),该值一般用来作为文件描述和硬件标志,可以是字母、数字,也可以是汉字,但它是长度固定的文本字符串,最大长度不能超过255个字符。REG文件中一般表现为:“a”=“****”。二进制值(REG_BINARY),一般情况下,大多数硬件组件信息以二进制数据存储,然后通过十六进制的格式显示在注册表编辑器中。该类型值没有长度限制,可以是任意字节长,REG文件中一般表现为:“a”=hex:01,00,00,00。
DWOED值(REG_DWORD),设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。REG文件中一般表现为“a”=dword:00000001。
如果你用的操作系统是Win-dowsXP,那么除了字符串值、二进制值、DWORD值外,你可能还会看到多字符串值、可扩充字符串值两种键值类型,不过这两种基本不用,在这里不做介绍。在上面我们已经了解了常见的键值以及它在REG文件中的表现格式,下面我们就来详细看看如何新建键值。
要新建一个键值项,必须要指明该键值所在的分支,该键值的名称、该键值的类型和该键值的值/(数据/。例如要在分支[HKEY_CUR-RENT_USER/Software]下新建一个名叫“REG文件测试”的主键,并设置默认键值为“test”,并分别添加“字符串”键值项目/(字符串值/、“二进制”键值项目/(二进制值/、“双字节”键值项目/(DWORD值/。你可以这么写:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER/Software/REG文件测试]
@=“test”“字符串”=“CeShi”“双字节”=hex:01,00,00,00“Dword值”=dword:00000001在REG文件中,Dword值用dword表示,二进制值用hex表示,字符串值直接用引号把内容括起来就行。值得注意的是,键值类型如dword、hex等也都必须用小写,此外,如果在创建字符串类型的键值时,如果该字符串中包含路径分隔符,这个路径分隔符必须用双斜杠“//”表示。还有就是,在Reg文件中,默认键值是用@表示的,并且没有引号。
4.修改键值
引用内容修改一个键值项和创建一个新键值的方法是类似的,只要在REG文件中,更改相应数据就可以了。例如我们要将上例中的Dword值改为00000000,我们可以这么写:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER/Software/REG文件测试]
“Dword值”=dword:00000000
在我们执行导入操作之后,新的数据会自动覆盖旧的数据,比如在本例中,会自动用00000000将00000001替换掉。
5.删除键值
引用内容用REG文件删除键值项目也是通过-号实现的,只要把-符号放在键值项目的等号后面就行了。我们要删除图2所示中我们添加的几个键值项目,我们可以这么写:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER/Software/REG文件测试]
@=“test”“字符串”=-“双字节”=-“Dword值”=-注意到等号后面的减号了吧,这就是删除的意思。
如:要删除[HKEY_CURRENT_USER/Software/REG文件测试]下的“test”项,就这样写:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER/Software/REG文件测试]
"test"=-
那么,怎么写.reg文件呢?我们需要一个文本编辑器,用windows的记事本就可以了。单击鼠标右键,选择新建文本文档,然后在生成的文本文件里输入上面规格的内容就可以了,最后,选择另存为,输入你想要的文件名+.reg保存即可。比如你要生成test.reg,输入test.reg保存即可,你可以看到生成了一个带图标的test.reg.双击运行这个test.reg文件就能相应的修改注册表了,系统会提示“是否导入注册表”之类的信息,确定就可以了。OK,我们可以手动写注册表了,是不是感觉很酷?
自己动手写reg注册表文件的更多相关文章
- PE下挂载注册表文件然后清除系统托盘空白图标缓存
清除了右下角通知栏图标缓存TrayNotify(否则会出现一堆空白图标)清除缓存批处理脚本.bat如何在PE系统环境下清除宿主系统的托盘图标缓存? 清除了右下角通知栏图标缓存TrayNotify(否则 ...
- Windows常用注册表文件
内容转载自我的博客 目录 1. 删除Visual Studio的右键菜单 2. 恢复Visual Studio的右键菜单 3. 右键菜单添加功能 4. USB3.0连接安卓手机刷机出现问题 1. 删除 ...
- WINDOWS NT操作系统的注册表文件
WINDOWS NT操作系统的注册表文件 WINDOWS NT注册表文件分为系统文件和用户文件两类. 系统设置和缺少用户 配置数据存放在系统C:\Windows\System32\config文件夹下 ...
- Win7 winsock 注册表文件
http://files.cnblogs.com/xsmhero/Winsock_Win7x64.rar
- 验证reg注册表的操作
// wRegKeyclass wRegKey{ // Operationspublic: BOOL Create(HKEY hKeyParent, LPCTSTR lpszKeyName , LPT ...
- 10#Windows注册表的那些事儿
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...
- 注册表REG文件编写大全
Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的. 通过修改注册表文件中的数据,可以达到优化 ...
- 编写注册表.reg文件
Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的. 通过修改注册表文件中的数据,可以达到优化 ...
- Reg 命令修改注册表
首先要说明:编辑注册表不当可能会严重损坏您的系统.在更改注册表之前,应备份计算机上任何有价值的数据 只有在别无选择的情况下,才直接编辑注册表.注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性 ...
随机推荐
- 在linux下运行mongodb
一>下载 1.去mongodb官网下拉框中找到 linux =>RHEL 6 => Package Manager: 2.Instructions for installing wi ...
- GDB 学习
通常使用gdb在Linux下调试C/C++程序,编译的时候加上-g选项(gcc -g ......).下面总结的是我自己经常使用(当然也有一些用的比较少)的gdb命令. (1)开始及退出 开始:gdb ...
- Solr搜索引擎 — 通过mysql配置数据源
一,准备数据库数据表结构 CREATE TABLE `app` ( `id` int(11) NOT NULL AUTO_INCREMENT, `app_name` varchar(255) NOT ...
- 17Oracle Database 维护
Oracle Database 维护 备份 还原
- Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986
Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证. 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom ...
- 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" One of the configured ...
- 在TWaver的Tree节点上画线
论坛上有同学提出如何在tree上画引导线,之前我们Flex已经实现此功能,现在最新版的HTML5也将添加此功能.先看看效果:详细的使用方法可以参考我们开发手册中可视化视图组件#Tree引导线一章,下面 ...
- 【解题报告】洛谷 P2571 [SCOI2010]传送带
[解题报告]洛谷 P2571 [SCOI2010]传送带今天无聊,很久没有做过题目了,但是又不想做什么太难的题目,所以就用洛谷随机跳题,跳到了一道题目,感觉好像不是太难. [CSDN链接](https ...
- 03匿名内部类、eclipse快捷键、String相关知识
03匿名内部类.eclipse快捷键.String相关知识-2018.7.11 1.匿名内部类(只针对重写一个方法时候使用,不能向下转型,因为没有子类类名) new Inter(){ public v ...
- 电子笔记本的思考(1)(ver0.2)
章节:电子笔记本的思考(1) 陶哲轩在<解题·成长·快乐——陶哲轩教你学数学>中着重强调,用纸笔来“缓存”思维对于数学解题的重要性: 用选定的符号表达你所知道的信息,并画一个示意图.把 ...