【转】初谈制作注册表REG脚本文件(上)

 一、制作REG文件的相关知识

REG文件实际上是一种注册表脚本文件,通过约定的格式,可以利用REG文件直接对注册表进行任何修改操作。制作注册表REG脚本文件,不仅要了解注册表的相关知识,而且还要对注册表内容在REG文件中的表现形式有所了解。

1、注册表中的键值项、键值概述
       在注册表中,左栏是路径的主键、子键,右栏是键值项内容,我们只要单击左栏中的任一键,则在右栏中就显示这个键的键值项内容。键值项是由键值名、键值类型、键值三部分构成。键值名的这个键常称“键值键”。在注册表中双击或右击“键值键”,可对键值项进行修改编辑。
       键值名:键值名为“默认”的键值项,是在新建主键或子键时系统自动给出的。其它的键值项可自行新建,键值名可自定义。
       键值类型:键值类型有“字符串值、二进制值、DWORD值、多字符串值、可扩充字符串值”五类,常用的键值类型是前三类。
       键值:什么样的键值类型就定义了什么样的“键值”,常用的三类键值在注册表中的表现形式如下。
       ①字符串值:一般用来表示注册表中文件的描述、硬件标识等。通常由字母和数字组成,最大长度不能超过255个字符。
       ②二进制值:在注册表中二进制值是没有长度限制,可任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来。
       ③dword值: 是一个32位(4个字节)长度的数值。在注册表编辑器中,你会发现系统会以十六进制的方式显示DWORD值。
                           在编辑dword值时,可以选择用十进制还是16进制的方式进行输入。

             

  
2、在REG文件中的键值项分析
打开注册表,在HKEY_CLASSES_ROOT\*\shell下新建一主键(有些也称子键),键名为“新键名”,这时系统在右栏上自动给出一个字符串键值项,输入键值:为空。再分别新建二进制值、dword值、多字符串值、可扩充字符串值四个键值项,键值都为空。


 

现将主键“新键名”导出,键值项的五种不同键值类型,在REG文件中的表现形式如下:
----------------------------------------------------------------------------------------------
----------------------------
字符串值           (REG_SZ)                 表现形式为:  @=""。
二进制值           (REG_BINARY)         表现形式为: "键值名1"=hex:
dword值            (REG_DWORD)         表现形式为: "键值名2"=dword:00000000
多字符串值        (REG_MULTI_SZ)      表现形式为: "键值名3"=hex(7):00,00 
可扩充字符串值 (REG_EXPAND_SZ)  表现形式为: "键值名4"=hex(2):00,00
--------------------------------------------------------------------------------------------------------------------------
以上,是键值项在REG文件中的表现形式,也就是键值项在REG文件中的写法。认真地分析一下表现形式中等号“=”的左边、右边的情形,就可以发现键值项在REG文件中的写法规律。

(1)从上例中等号“=”左边的键值名称分析。
不难看出,上例中键值项的左边可分两种:默认的、非默认的。在所有的键值项中,除了一个默认键值项外,其余都是非默认键值项。默认键的在注册表中的键值名是“默认”,在脚本文件中用@表示,@ 没有用半角双引号;而非默认的"键值名",用了半角双引号。可见,键值项左边的写法只有两种: @ 或 "键值名" 。

(2)从上例中等号“=”右边的表现形式分析。
在上例中,虽没有给每一个键值项输入键值,但仍可看出每一个键值项右边的表现形式,都由键值符、键值两个部分。由此看来,键值项在REG文件中的表现形式,也是由键值名、键值符、键值三个部分构成。其中“键值符”就是表示注册表中的“键值类型”。具体地说,REG文件中的键值符:“""、hex:、dword:、hex(7):、hex(2):”,分别表示注册表中的键值类型:“字符串值、二进制值、dword值、多字符串值、多字符串值”。因此,键值项在REG文件中的写法为:@或"键值名"=键值符 键值。

(3)从上例中等号“=”右边的键值设置分析。
在上例中,等号“=”右边的键值,因都没有输入键值,在注册表中键值表现都是为空。经反复测试,在注册表中都表现键值为空的,dword值的有效写法是:@或"键值名"=dword:00000000;其它的有效写法是:@或"键值名"=键值符。

(4)从上例中等号“=”右边的键值种类分析。
键值也可分字符串、dword数值、其它数值三种。"字符串"要用半角双引号。如字符串中包含路径分隔符,分隔符用双斜杠\\。dword数值和其它数值不需要用半角双引号。综合上述内容,键值项在REG文件中的写法:
其一,字符串数值:   @或"键值名"="字符串"
其二,dword数值:    @或"键值名"=dword: 数值
其三,其它数值:      @或"键值名"=键值符 数值
说明:①其它数值:指“hex:二进制值数值,hex(7):多字符串值数值,hex(2):多字符串值数值”。
          ②当键值dword的数值为00000000时和字符串、其它数值没有输入值时,表示键值为空。

3、键值项、键值REG文件的写法
为了便于记忆和操作,根据上面分析的结果,在脚本文件中编写键值项,还可归纳为以下两种写法。
(1)概括性的写法
    
@ 或"键值名"=键值符 键值
   说明:①@为默认的,"键值名"为非默认的。
             ②键值符 键值的写法:"字符串",dword:数值,hex:数值,hex(7):数值,hex(2):数值。
             ③当键值dword的数值为00000000时和字符串、其它数值没有输入值时,表示键值为空。
(2)具体性的写法
默认的
REG_SZ                 写法为:     @="字符串"
REG_BINARY         写法为:     @=hex:数值
REG_DWORD         写法为:     @=dword:数值
REG_MULTI_SZ      写法为:      @=hex(7):数值
REG_EXPAND_SZ   写法为:     @=hex(2):数值
非默认的
REG_SZ                 写法为:   "键值名"="字符串"
REG_BINARY         写法为:   "键值名"=hex:数值
REG_DWORD         写法为:  "键值名"=dword:数值
REG_MULTI_SZ       写法为:   "键值名"=hex(7):数值
REG_EXPAND_SZ   写法为:   "键值名"=hex(2):数值
说明:当键值dword的数值为00000000时和字符串、其它数值没有输入值时,表示键值为空

二、制作、运行REG文件的方法

       修改注册表的方法很多,最常见的有:一是手动直接修改:就是在注册表中,用手工直接修改注册表的内容。二是导入导出修改:是将要修改的内容导出后`进行修改,修改后保存再导入。三是制定脚本文件修改:即按照注册表脚本文件的格式和要求,制定REG文件再导入。本文介绍就是第三种方法。

1、建立脚本文件
①新建一个文本文档,将其扩展名.txt改为.reg;
②再用记事本打开.reg文件就可进行编辑了,编辑好后保存。
2、编辑脚本文件
(1)文件的基本格式
----------------------------------------------------------------------------------------------
注册表编辑器版本

[路径]
 @=键值符 键值
"键值名"=键值符 键值
----------------------------------------------------------------------------------------------
(2)脚本文件的范例
----------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\m3ile]
"FriendlyTypeName"="@C:\\WINDOWS\\inf\\unregmp2.exe,-9926"
"EditFlags"=hex:00,00,01,00
"PreferExecuteOnMismatch"=dword:00000001
@="M3U 文件"
----------------------------------------------------------------------------------------------
(3)编辑脚本的说明
①第一行是注册表编辑器版本,凡是XP用户必须输入“Windows Registry Editor Version 5.00”。
②第二行为空行。
③第三行是导入内容到注册中的路径、位置,如,[HKEY_CLASSES_ROOT\m3ile]。
④第四行及其以后的,均为键值项的内容,是编辑的重点、关键。
⑤在键值项的内容中,可分为默认的:如,@="M3U 文件"。剩下的为非默认的内容。
⑥在键值项为非默认的内容中有三种:
   一是字符串值:    如,"M3U 文件"、"@C:\\WINDOWS\\inf\\unregmp2.exe,-9926";
   二是二进制值:    如,hex:00,00,01,00;
   三是dword值:     如,dword:00000001。

3、运行脚本文件
双击REG脚本文件图标,不论注册表编辑器是否打开,REG脚本文件内容自动导入到注册表。

 

转至:http://xuhui-8491.blog.163.com/blog/static/8074589120101116940912/

 

Mamba SSM 实战:IMDb 文本分类 + Mamba-ssm 全流程 Mamba SSM 文本分类链路:IMDb 二分类 → MambaLMHeadModel (d_model=256, n_layer=8, d_state=16, exp2=2) → 末 token 分类头。5 epoch 达 89.2% 准确率 (与 BERT-base 持平), 但显存降低 44% (3.5GB vs 6.2GB)。建议序列长度 ≥ 1024 再选 Mamba, 短序列 (< 512) 用 BERT 更高效。扩展时注意d_state。 阅读详情

相关推荐

注册表脚本工具:批量自动化部署

本文还有配套的精品资源,点击获取 简介:该工具能将Windows注册表文件reg换为批处理(bat)文件或VBScript(vbs)文件,对于IT专业人员和系统管理员在不同系统间同步或部署注册表设置特别有用。工具通过将reg文件内容换为相应的批处理或VBScript命令,实现自动化脚本集成,提高工作效率,减少错误。使用前需备份数据和注册表,并了解基本语法。 ...

weixin_42613017的博客 1465

windows 注册表脚本文件 添加 修改 删除 简介

我们平时大多采用Regedit注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力,当你要对多台PC统一修改注册表时,就要怨念了。并且在某些情况下,如果注册表编辑器被禁用了,那么这种方法也会失效。于是,推荐大家使用REG文件来快速完成注册表的修改。REG文件实际上是一种注册表脚本文件Regedit注册表编辑器可以使用REG文件来导入、导出注册表的子项和值。双击REG文件(即用Regedit.exe 注册表编辑器程序运行该文件)即可将其中的数据导入到注册表中。

whatday的专栏 3822

海洋塑料垃圾检测数据集.zip

数据集介绍:海洋塑料垃圾目标检测数据集一、基础信息数据集名称:海洋塑料垃圾检测数据集 图片数量统计: - 训练集:5,187张图片 - 验证集:553张图片 - 测试集:580张图片 总计:6,320张环境监测图片 分类类别: trash_plastic(塑料垃圾):海洋环境中常见的人工废弃物,对生态系统构成长期威胁,需高效识别与监测。 标注格式: YOLO格式,包含标准化边界框坐标及类别标签,专为目标检测任务优化设计。 数据来源:航拍及近海监测设备采集的真实场景图像,聚焦塑料垃圾识别。二、适用场景海洋环境监测系统开发: 支持构建塑料垃圾自动识别模型,集成至海岸线巡检无人机或船舶监控系统,实现污染源实时定位与评估。 环保清洁机器人研发: 为自主海洋垃圾清理装备提供视觉识别能力,精准区分塑料废弃物与自然物体,提升清洁效率。 生态研究与环境评估: 助力科研机构量化海洋塑料污染分布,支持气候变化及生物多样性保护相关研究。 环保教育应用开发: 用于公众环保意识应用,通过可视化检测结果展示海洋塑料污染现状。三、数据集优势场景针对性强: 专注单一关键类别"塑料垃圾",数据标注一致性高,减少模型学习干扰,提升检测精度。 大规模实战数据: 超6,000张真实场景图片,覆盖水面漂浮、浅滩堆积等多种形态,确保模型泛化能力。 工业适配性高: YOLO格式无缝兼容主流检测框架(YOLOv5/v8、Detectron2等),支持快速部署至边缘设备。 生态价值突出: 直击海洋塑料污染治理痛点,为自动化环保解决方案提供核心数据支撑,助力可持续发展目标。

WINDOWS下操作注册表 REG_EXPAND_SZ与REG_SZ的区别

WINDOWS下开发ORACLE程序,需要安装ORACLE的CLIENT. 这个东东比较大.几百M.好在到10后 ORACLE推出了一个INSTANT CLIENT 几十M搞定.这下方便了..可以直接打包.不过,要注册三个变量. TNS_ADMIN NLS_LANG PATH 这中间,遇到两上问题..搞了一晚上.也真是WINDOWS下开发没经验..活该郁闷... 1.注...

我的博客 4851

windows系统bat脚本注册表reg命令总结

对于远程计算机,请在 \\ComputerName\PathToSubkey 中的子项路径前包含计算机名称。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。cmd /k reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL" /v Checkedvalue /t reg_dword /d 1 /f(显示隐藏的文件文件夹)

hljqfl的专栏 6291

使用注册表文件REG)添加、修改或删除Windows注册表项和值

1. 简介   我们平时大多采用Regedit注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力,当你要对多台PC统一修改注册表时,就要怨念了。并且在某些情况下,如果注册表编辑器被禁用了,那么这种方法也会失效。于是,推荐大家使用REG文件来快速完成注册表的修改。   REG文件实际上是一种注册表脚本文件Regedit注册表编辑器可以使用REG文件来导入、导出注册表的子项和值。双击...

weixin_30345055的博客 1803

Reg注册表读写

Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性以及各种状态信息和数据等。我们可以通过win+R,输入regedit 查看注册表编辑器。RegCreateKeyW( )函数 参数hKey 打开的注册表句柄, 或是以下预定义键之一。要创建表项的名称,必须是hKey参数

qq_54169998的博客 1835

用HTML5制作注册表与验证码,初谈制作注册表REG脚本文件()

三、制作REG文件的具体操作1.创建新键创建新键的写法:[路径\新键名]例1,在 HKEY_CLASSES_ROOT\*\shell 下创建主键,键名为:NewWindow。脚本写法:------------------------------------------------------------------------------------------------Windows Regi...

weixin_36130547的博客 639

制作REG文件编辑注册表

制作REG文件编辑注册表   Windows XP注册表文件除了可以用注册表编辑器、工具软件修改外,还可以直接用记事本制作REG文件脚本来直接修改,其优势是可以文件形式保存、交流,也保证了准确性和安全性。下面我们分别从注册表项(子项、值项)的创建、修改、删除3个方面分析REG文件制作。  1.创建和修改   (1)创建子项   我们现在需要在HKEY_LOCAL_

DillonHunter的专栏 2764

注册表操作,reg脚本简单编写

注册表操作,reg脚本简单编写 添加项 Windows Registry Editor Version 5.00 [HKEY_CURRENT_CONFIG\System\CurrentControlSet\SERVICES\TSDDD\DEVICE0] "Attach.ToDesktop"=dword:00000001 移除项 Windows Registry Editor Version ...

nbvnvnvbn的博客 7840

初谈制作注册表REG脚本文件()

一、制作REG文件的相关知识 REG文件实际上是一种注册表脚本文件,通过约定的格式,可以利用REG文件直接对注册表进行任何修改操作。制作注册表REG脚本文件,不仅要了解注册表的相关知识,而且还要对注册表内容在REG文件中的表现形式有所了解。 1、注册表中的键值项、键值概述        在注册表中,左栏是路径的主键、子键,右栏是键值项内容,我们只要单击左栏中的任一键,则在右栏中就显示

多思多做 1701

注册表REG文件编写大全

注册表REG文件编写大全 Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的。 通过修改注册表文件中的数据,可以达到优化 Windows 性能的效果。 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。你要导入xx.reg ...

weixin_33913377的博客 2493

初谈制作注册表REG脚本文件()

四、如何修改注册表REG脚本文件REG文件修改注册表,应该对键值项有所了解,尤其是默认键值项的相关知识,为此下面先作个简单的介绍,供参考!        ①在注册中,对每一个主键或子键,系统只允许一个默认键值项,不允许多于一个或没有默认键值项。因此,在创建新键或没有默认键值项时,系统将自动对每一个键给出一个默认键值项,它的键值名为(默认),键值类型是字符串,键值“数值未设置”状态。根据

多思多做 1961

文件注册表使用注册表文件REG)添加、修改或删除Windows注册表项和值 文件注册表

题记:写这篇博客要主是加深自己对文件注册表的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。     1. 简介      我们平常大多采取Regedit注册表辑编器来实现对注册表的修改作操,但是种这手工作操费时力费,当你要对多台PC一统修改注册表时,就要怨念了。并且在某些情况下,如果注册表辑编器被禁用了,那么种这方法也会失效。于是,推荐大家用使REG文件来倏地成完注册表的修

1489

操作注册表REG_SZ和REG_EXPAND_SZ的区别

被这个操蛋的问题折磨了两天,还是外国人屌一点。 一下子就搞明白了。 REG_SZ和REG_EXPAND_SZ都是字符串。 但是 REG_SZ类型的值中使用%%引用的变量不会被解析。 REG_EXPAND_SZ类型的值中使用%%引用的变量会被解析。 使用C#来操作时。SetValue(name, strValue, RegistryValueKind.ExpandString);Expan

而立之年的涅槃 8240

如何手工写.reg编辑注册表文件

REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。通过约定的格式,我们可以利用REG文件直接对注册表进行任何修改操作,而且它对注册表的操作可以不受Regedit.exe被禁用的限制,因此功能更为强大、灵活;此外,由于REG文件可以用任何文本编辑器/(如记事本/进行打开、编辑、修改,可以在发生错误的时候,通过改回REG文件中的数据后再导入,实现恢复操作,因此它更方便

ltolll的博客(技术版) 8065

windows系统bat脚本命令总结之reg命令

做了一段时间的bat脚本开发,bat脚本中有各种各样的命令跟传统的编程逻辑完全不同,本专栏会讲解下各种各式的命令使用方法。本篇文章讲解的是windows系统注册表操作命令"reg"。“reg” 是 Windows 操作系统中的一个命令行工具,用于操作 Windows 注册表注册表Windows 操作系统中存储系统设置和配置信息的一个重要数据库。

YY007H的博客 2732

读取注册表中的REG_QWORD和REG_BINARY(二进制)类型数据

这里所说的项就是键key,子项就是子键subkey,键的一条属性被称为一个value(值项),最底层的子键里面的项其实就是值项value,value由名称、类型、数据类型和数据组成,这里所说的值名对应的就是值项的名称,这里所说的值数据就是值项的数据)而DigitalProductId这类二进制数据的长度也是在函数RegQueryInfoKey中获取的(切记获取的这个长度不包括结尾的空字符0,所以我们为了读取该数据分配的空间大小,要在这个长度上加1);(subkey)就是这个节点的子节点,子健也是键。

zhaopeng01zp的博客 4237

正确读取REG_DWORD键值

#pragma comment(lib,"advapi32") #include #include #include int main() { LPCTSTR Regkey = _T("Software\\Microsoft\\Windows NT\\CurrentVersion"); DWORD dwInsTime = 0; DWORD dwType

oceanark的博客 5049

C#操作注册表REG_DWORD类型键异常(RegistryValueKind.DWord异常)解决方案

         在用C#操作注册表时,如果注册表键的类型是REG_DWORD,有可能遇到溢出BUG。网上这方面的资料很少,在这共享一下。          C#可以用RegistryKey类的SetValue方法来设置键值,例如:          看起来一切正常,但是这个RegistryValueKind.DWord是有问题的。          注册表中的REG_D...

weixin_33725272的博客 536

注册表键类型REG_SZ和REG_EXPAND_SZ引发的BUG

原文:http://hi.baidu.com/pwcrab/blog/item/8fce6003ef4396e808fa9394.html我们的程序运行时需要设置一些环境变量,但是在某客户那里,用户环境中可扩展值 %SystemRoot% 没有被展开。 调查发现原因如下:注册表中有两种类型的键: REG_SZ REG_EXPAND_SZ如果上面一种键的值中存在可扩展占位符%xx

InkSnail的专栏 6299
上一篇: Asterisk1.4 AGI Command 翻译(二)
下一篇: 【转】WEB打印系列教程之一--基于Web的打印方案比较分析
elementgod
博客等级 码龄19年 2粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值