Reg文件全功略.docVIP

  • 6
  • 0
  • 约4.93万字
  • 约 16页
  • 2016-12-07 发布于河南
  • 举报
Reg文件全功略

Reg文件全功略 .Reg文件格式 原作:J.Mostert 翻译:淡月儿 1,概述 ,,注册表编辑器使用.Reg文件格式导入、导出注册表设置,支持的操作系统包括Windows3.X,Windows95/98/NT及以上。尽管注册表的作用和原理十分重要,但本文不打算介绍,你可以通过文末列出的网址,获得相关的信息。同时,Windows3.X的.Reg文件格式与Windows95以上不尽相同,本文将忽略这方面的内容,毕竟Windows3.X的注册表已经不太重要。 2,详细说明 ,,.Reg文件是ASCII码组成的无格式纯文本,每一行以“cr/lf”结尾。 2.1,文件头 ,,.reg文件开头是注册表编辑器的版本,Windows95/NT下版本是4,你可以使用这样的字符串:regedit4。在执行导入前,注册表编辑器将会检查版本是否正确,并在不匹配时给与提示,这也是注册表编辑器对.Reg文件做的唯一检查。一般情况下,注册表编辑器会默默忽略掉错误的文件内容不予导入注册表,更多情况下会把可能导致问题的内容导入注册表,这是微软注册表编辑器的一个缺陷。 2.2,键 ,,键和子键被原样导出至.Reg文件,没有顺序差别。 ,,例如: ,,hkey_classes_root\clsid键下面有hkey_classes_root\clsid\{21ec2020-3aea-1069-a2dd-08002b30309d}这个子键(这个键的作用是在控制面板上添加一个类声明),它按如下格式导出: ,,[hkey_classes_root\clsid] ,,[hkey_classes_root\clsid\{21ec2020-3aea-1069-a2dd-08002b30309d}] ,,任何一个有效键值都必须包含完整的路径,因此必定以根键开头,根键包括: ,,hkey_classes_root ,,hkey_current_user ,,hkey_local_machine ,,hkey_users ,,hkey_current_config ,,hkey_dyn_data ,,键名只可以由ASCII码中的可打印字符组成(即ASCII码32至127所代表的字符),键名不可以包含空格、反斜杠(,\,)以及通配符(,*,和,?,)。每一个键名下紧跟着它的键值,键值列表以空行结束,一个键的键值列表可以就是一个空行。 ,,例如: ,,[key-name] ,,[second-key-name] ,,value1=something ,,value2=something ,,[third-key-name] ,,假如在文件中指定了一个不存在的键值,那么在导入的时候这个键连同它的根键(假如不存在的话)都将被创建。 ,,例如: ,,文件中指定了hkey_users\jeroen\test\subkey这个键; ,,注册表中只存在hkey_users\jeroen这个键; ,,当导入以后,hkey_users\jeroen\test这个键会被创建。 ,,注意,你只能添加或修改键和键值,而不能删除它们。 ,,(译者注:事实上可以删除,方法是在键名前面加上,-,号,该键连同其子键将被删除;在指定键值为,-,,可以删除该键值。) 2.3,键值 ,,注册表键值可以是三种数据类型:字符串(string)、二进制值(binary,value)和双机器字(dword,即32位整数)。键值的名称以引号,,包含,值紧跟在等号,=,之后。每一个键都包含至少一个字符串类型的键值,这个键值在注册表编辑器中显示为“默认值”(default)。你可以通过指定名称为,@,的值来修改默认值。 ,,例如: ,,@=this,is,the,default,value. 2.3.1,字符串 ,,字符串可以是任意长度的,用引号,,包含起来的由ASCII码字符组成的值。字符,,和,\,也可以包含在字符串中,不过需要用,\,和,\\,进行转义。同时,注册表编辑器可以导入导出除换行符(以及新行符,即ASCII码10所指定的字符)以外的非ACSII码字符。 ,,当一个字符串值中包含换行符,在导出的时候会被输出成两行,但是再次导入时,只能导入第一行,第二行将被忽略。因此请牢记:不要在字符串值中包含换行符。 ,,例如: ,,foo=bar ,,foopath=c:\\windows\\system ,,foomessage=this/nmessage/nactually/nconsists/nof/one/nlong/nline. 2.3.2,二进制值 ,,在字符串和双字不适用的场合,可以使用二进制值。二进制值可以用来储存任意类型的数据,其格式为,hex:xx,yy,zz,等,其中xx、yy、zz是用16进制值表示的单字

文档评论(0)

1亿VIP精品文档

相关文档