当前位置:文档之家› 一个ocx的注册表结构

一个ocx的注册表结构

一个ocx的注册表结构
一个ocx的注册表结构

PROGID

ProgID程序员给CLSID指定的容易记住的名字

ProgID命名约定:..

AppID:将某个APPID(应用程序ID)映射成某个远程服务器名称。分式COM(DCOM)将用到此关键字

组件类别:将CATID(组件类别ID)映射成某个特定的组件类别

Interface:将IID映射成某个接口相关的信息,这些信息主要用于跨进程边界使用接口的情况

Licenses:保存的是授权使用COM组件的一些认可信息

TypeLib:类型库关键字保存的是关于接口成员函数所用参数的信息和其他一些信息,可以将一根LIBID映射成存储类型库的

文件名称

ProgID及与版本无关的ProgID被列在CLSID下面

ProgID的主要作用是获取相应的CLSID

与版本号无关的ProgID也直接被列在HKEY_CLASSES_ROOT下面,他们另外一个关键字CurVer,其缺省值为组件当前版本的

ProgID

ProgID和CLSID的转换:CLSIDFromProgID,ProgIDFromCLSID

组件的自注册:STDAPI DllRegisterServer(); STDAPI DllUnRegisterServer

1.在HKEY_CLASSES_ROOT下查找ProgID,格式..

2.在ProgID下,查看CLSID子项的值

3.在HKEY_CLASSES_ROOT\CLSID下查找CLSID的值,里面将包含InprocServer32,ProgID,类型库,和版本的几个子项

4.在HKEY_CLASSES_ROOT\TypeLib下,查找ClassID TypeLibID,将找到包含有关您的组件的类型库的信息

5.在HKEY_CLASSES_ROOT\Interface下,查找该ClassID TypeLibID,查找到所有接口ID

COM库在接到客户程序的请求后,会到注册表中检索COM对象的注册表条目,以此来定位COM对象COM对象要想成功的被COM库定位,则需要至少在注册表中写入HKEY_CLASSES_ROOT\ProgID注册和HKEY_CLASSES_ROOT\CLSID

注册

InProcServer32的字符串值,代表此COM类的载体应当是个动态链接库,指明了组件所在的物理位置,对COM库查找和定位

组件起了决定性作用

LocalServer32:指定一个32字节的本地应用程序的路径

Word.Application->CLSID

可执行程序的路径:LocalServer,LocalServer32

查找ProgID方法,在注册表的键值中查找可执行程序的名字

注册表的基本结构介绍

注册表的基本结构介绍 不论是WINDOWS 95/98操作系统,还是WINDOWS NT/2000操作系统,其注册表的结构大体上是基本相同的,都是一种层叠式结构的复杂数据库,由键、子键、分支、值项和缺省值几部分组成。 注册表包括以下的5个主要键项:注:Windows mobile2003操作系统只有3个主要键项,2005有1个副键项! 1.HKDY_CLASSES_ROOT:包含启动应用程序所需的全部信息,包括扩展名、应用程序与文档之间的关系、驱动程序名、DDE和OLE信息,类ID编号和应用程序与文档的图标等。 2.HKEY_CURRENT_USER:包含当前登录用户的配置信息,包括环境变量、个人程序、桌面设置等。 3.HKEY_LOCAL_MACHINE:包含本地计算机的系统信息,包括硬件和操作系统信息,如设备驱动程序,安全数据和计算机专用的各类软件设置信息。 4.HKEY_USERS:包含计算机的所有用户使用的配置数据,这些数据只有在用户登录在系统上时方能访问。这些信息告诉系统当前用户使用的图标、激活的程序组、开始菜单的内容以及颜色、字体等。 5.HKEY_CURRENT_CONFIG:存放当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE 中映射出来的。 具体的说明请见如下的介绍: 一、HKEY_CLASSES_ROOT根键 HKEY_CLASSES_ROOT根键中记录的是Windows操作系统中所有数据文件的信息内容,主要记录了不同的文件的文件名后缀和与之对应的应用程序。当用户双击一个文档时,系统可以通过这些信息启动相应的应用程序。 HKEY_CLASSES_ROOT根键是由多个子键组成的,可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。由于该根键包含的子键数目最多,下面就用Avifile子键简要介绍它下面的子键的含义: 1.CLSID子键 Avifile子键下的第一个子键是“CLSID”,即“分类标识”,在选中它时可以看到其默认的键值。Windows系统可用这个类标识号来识别相同类型的文件。在HKEY_CLASSES_ROOT主键下也有一个子键“CLSID”,其中包含了所有注册文件的类标识。 https://www.doczj.com/doc/3514019161.html,pressors 子键

注册表基本知识

注册表基本知识 注册表是Windows XP系统存储关于计算机配置信息的数据库,包括系统运行时需要调用的运行方式的设置;软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;计算机整个系统的设置和各种许可,文件扩展名与应用系统的关联,硬件的描述、状态和属性;计算机性能记录和底层系统状态信息,以及其他各类数据。这里我们就介绍一下注册表的基本概念、结构和相关的初级知识,为读者进一步深入了解注册表做好铺垫。 1.1 注册表的由来 PC机及其操作系统得一个特点就是允许用户按照自己的要求对计算机系统的软件和硬件进行各种各样的配置。早期的图形操作系统,如Windows 3.X中,对软硬件工作环境的配置是通过对扩展名为INI的文件进行修改来完成的。Windows 3.X在启动时是通过许多初始化文件来加载16位实模式和32位虚拟模拟设备驱动程序(VxD)的。例如,要启动Window 3.X,必须有WINI.INI,SYSTEM.INI及其各种配套的INI文件。但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上很难实现远程访问。早期的Window 3.X应用程序不仅自己有专门的初始化文件,而且在WIN.INI中往往还要增加一些配置项,时间长了,WIN.INI不断增大。而且WIN.INI的许多配置项一直遗留着,一般用户无法删除。随着WIN.INI的增大,Window 3.X运行速度也相应地降低。另外,WIN.INI 不能超过64KB,否则Window 3.X无法启动,或运行程序中会出现许多莫名其妙的错误。 由于INI文件的最大长度是64KB,所以是系统扩展的一个很明显的障碍。为了解决这个问题,许多开发商后来都开始向用户提供自己的INI文件,并仅在WIN.INI文件和SYSTEM.INI文件中列出指向自用INI文件的一个指针。但这种方法也有不足:INI文件会散布在系统的各个地方,而且分级访问的本质存在严重的缺陷。如果WIN.INI做了某一特殊的设置,而应用程序的INI文件又做出了另一个设置,那么究竟选择谁?如何判定一种具体的设置的优先级呢? 为了克服上述这些问题,在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows 各版本中都采用了将应用程序和计算机系统全被配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性,以及各种状态信息和数据等。Windows XP的注册表在结构上可以说是Windows 2000与Windows 9X/Me注册表的综合体,含有以上两种注册表的大量信息,同时也有大量最新的设置特点。 Windows XP注册表保存着操作系统正常运转所需的大部分信息。在每次启动时,系统会根据计算机关机时创建的一系列文件创建注册表,注册表一旦载入内存,就会被一直维护着。注册表实际上是一个系统参数的关系数据库,从很多方面来看,它是Windows XP计算机行为和能力的数据交换中心。注册表代表一系列数据文件,主要用于帮助Windows XP对硬件、软件、用户环境以及Windows 的“外观与感觉”进行控制。 注册表与INI文件的不同之处有如下几点: ●注册表采用了二进制形式登录数据。 ●注册表支持子项(键),各级子关键字都有自己的“值项(键值)”。

WINDOWS 注册表---注册表数据结构(一)

注册表数据结构(一) 使用注册表编辑器之前,首先得了解注册表的数据结构,例如注册表的显示方式、主键与子键、键值项数据的类型等等。 注册表显示方式 在Windows系统中,注册表是采用“关键字”及其“键值”来描述登录项及其数据的。所有的关键字都是以“HKEY”作为前缀开头。实际上,“关键字”是一个句柄。这种约定使得系统及应用程序的开发人员,可以在使用注册表中的API函数时把它用于应用程序的开发中。为此,Windows提供了若干API函数,以便在开发 for Windows 应用程序时添加、修改、查询和删除注册表的登录项。 在注册表中,关键字可以分为两类:一类是由系统定义的,一般都称为“预定义关键字”;另一类是由应用程序定义的,由于安装的应用软件不同,其登录项也就不同。在Windows系统中,打开注册表编辑器,可以看到注册表中的关键字,如图: 注册表通过主关键字(最上层的为“根键”,例如下图中的HKEY_CURRENT_USERS就是一个根键,标题栏上也有显示)和子键来管理各种信息,下图中的“Keyboard Layout”是一个主键,展开后就可以看到它里面的子键。注册表中的所有信息是以各种形式的“键值项数据”保存下来,如下图中的键值项Attributes的数据为“REG_DWORD:0”。其中“REG_DWORD”是该键值的数据类型;“0”是代表该键值被赋予的数值。

在注册表的左边窗口中,所有的数据都是通过一种树状结构,以键和子键的方式组织起来,十分类似于资源管理器内的目录结构,如下图。每个键都包含有一组特定的信息,每个键的键名都是与它所包含的信息相关的(注册表内是以英文的方式出现,比如‘Control Panel’表示的是控制面板内的一些内容)。 如果这个键包含子键,则在注册表编辑器窗口的左边出现一个“+”号,用来表示在这个文件夹内还有好多内容。如果这个文件夹被用户打开了,那么“+”号就变为“-”号,与我们使用资源管理器的方法是一样的,如图:

注册表的作用

从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念)。注册表是Windows 95及Windows 98 的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于鞭种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。 一、注册表的结构划分及相互关系 WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。 在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。 Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。注册表的根键共六个。这些根键都是大写的,并以HKEY_为前缀;这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。 虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是 HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。 HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。 实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理, HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是 HKEY_LOCAL_MACHINE\SYSTEM\Current Control。 HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER 中保存了当前登录用户的用户信息。 HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。 根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS 两大类,这两大类的详细内容请看后面的介绍。 二、六大根键的作用 在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。 1.HKEY_USERS

注册表的组成和结构等基本知识

注册表的组成和结构等基本知识 在Windows 95及以后的版本中,采用了一种叫做“注册表”的数据库将各种信息资源集中起来 并存储各种配置信息;注册表是Windows 的一个内部数据库,是一个巨大的树状分层的数据库。它容纳了应用程序和计算机系统的全部配置信息、系统和应用程序的初始化信息、应用程序和文档文件的关联关系、硬件设备的说明、状态和属性以及各种状态信息和数据。注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个Windows系统中起着核心作用。 1。怎么进入注册表? 答:运行regedit.exe或regedt32.exe启动注册表编辑器即可。2。注册表由那些文件的组成? 答:在Windows 95 以上版本中,注册标由两个文件组成:System.dat,User.dat,保存在Windows 所在文件夹中。前者包含硬件和软件的设置,而后者包含与用户有关的信息。在windows 2k/NT/XP/2003系统中,用户配置文件保存在“Documents and Settings” 文件夹中,包括两个隐藏文件NTUSER.DAT和NTUSER.INT和NTUSER.DAT.LOG 日志文件;系统配置文件保存在系统目录下(如:2K的系统目录为winnt,XP的系统目录为windows)“system32\config”中,包括DEFAULT、SOFTWARE、

SYSTEMAPPEVENT.EVT、SECEVENT.EVT、SYSEVENT.EVT多个隐藏文件及与其相应的.log日志文件和.sav文件。 3.注册表的结构怎样? 主键说明 HKEY_CLASSES_ROOT 包含文件扩展名和文件类型,其中也包括了从Win.ini 文件中引入的 扩展名的数据;还包括诸如我的电脑、回收站、控制面板等的类标识。此主键的数据适用于所有用户。 HKEY_CURRENT_USER 保存有当前登录的用户的配置信息,如控制面板选项。 HKEY_LOCAL_MACHINE 包含本机上所有软硬件的信息,此主键的数据适用于所有用户。 HKEY_USERS 保存着所有登录到此机上的用户的信息。既包括通用设置(如应用程序事件) ,也包括特定用户的设置(如桌面)。 HKEY_CURRENT_CONFIG 包含所有连结到此机上的硬件的配置数据,如打印机和显示器的配置数据 HKEY_DYN_DATA 指向 HKEY_LOCAL_MACHINE 的一个分支,它包括诸如系统性能和既插既用的动态信息

一个ocx的注册表结构

PROGID ProgID程序员给CLSID指定的容易记住的名字 ProgID命名约定:.. AppID:将某个APPID(应用程序ID)映射成某个远程服务器名称。分式COM(DCOM)将用到此关键字 组件类别:将CATID(组件类别ID)映射成某个特定的组件类别 Interface:将IID映射成某个接口相关的信息,这些信息主要用于跨进程边界使用接口的情况 Licenses:保存的是授权使用COM组件的一些认可信息 TypeLib:类型库关键字保存的是关于接口成员函数所用参数的信息和其他一些信息,可以将一根LIBID映射成存储类型库的 文件名称 ProgID及与版本无关的ProgID被列在CLSID下面 ProgID的主要作用是获取相应的CLSID 与版本号无关的ProgID也直接被列在HKEY_CLASSES_ROOT下面,他们另外一个关键字CurVer,其缺省值为组件当前版本的 ProgID ProgID和CLSID的转换:CLSIDFromProgID,ProgIDFromCLSID 组件的自注册:STDAPI DllRegisterServer(); STDAPI DllUnRegisterServer 1.在HKEY_CLASSES_ROOT下查找ProgID,格式.. 2.在ProgID下,查看CLSID子项的值 3.在HKEY_CLASSES_ROOT\CLSID下查找CLSID的值,里面将包含InprocServer32,ProgID,类型库,和版本的几个子项 4.在HKEY_CLASSES_ROOT\TypeLib下,查找ClassID TypeLibID,将找到包含有关您的组件的类型库的信息 5.在HKEY_CLASSES_ROOT\Interface下,查找该ClassID TypeLibID,查找到所有接口ID COM库在接到客户程序的请求后,会到注册表中检索COM对象的注册表条目,以此来定位COM对象COM对象要想成功的被COM库定位,则需要至少在注册表中写入HKEY_CLASSES_ROOT\ProgID注册和HKEY_CLASSES_ROOT\CLSID 注册 InProcServer32的字符串值,代表此COM类的载体应当是个动态链接库,指明了组件所在的物理位置,对COM库查找和定位 组件起了决定性作用 LocalServer32:指定一个32字节的本地应用程序的路径 Word.Application->CLSID 可执行程序的路径:LocalServer,LocalServer32 查找ProgID方法,在注册表的键值中查找可执行程序的名字

注册表知识大全

本人泡了几个月的论坛,好像还没有看到有类似以下介绍注册表的贴子,所以想在WINDOWS系统专区下发表一些关于注册表的贴子,经过了几天的整理,终于可以把它弄上来和大家一起分享一下本人的少少心得。(有什么不正确之处望大虾们来为我更正,让大家一起学习!)以下可能有点语法表达不正确,请见谅! 相信对WINDOWS操作系统稍有了解的用户都认识注册表,听说过修改注册表的强大功能,但对于一些新手面对着注册表,看着一大把的E文,手无对策;甚至一些老用户都不能够真正地能够掌握注册表。下面先来简单介绍一下注册表的六大功能键: 1、HKEY_CLASS_ROOT 此根键主要是记录了WINDOWS操作系统中所有数据文件的格式和关联信息,主要记录不同文件的文件名后缀和与之对应的应用程序.其子键(即子目录)可分为两类:一类是已经注册的各类文件名的扩展名,这类子键前面都有一个"."标记;另一类是各类文件类型有关信息 2、HKEY_CURRENT_USER 此根键记录了当前用户的用户配置文件信息.(当不同的用户登录计算机时,它会自动使用自己的个性化设置.) 3、HKEY_LOCAL_MACHINE 这里主要记录了当前计算机的配置数据,包括所有安装的硬件以及软件的设置.这些信息是为所有用户登录系统服务的.它是整个注册表中最强大的,最重要的根键.(不熟悉注册表的兄弟们,最好不要乱修改哦!以免导致系统数据损失或等其他许多故障.) 4、HKEY_USERS 此根键是默认用户的信息(Default子键)和所有以前登录过的用户信息. (这里没有什么好说!) 5、HKEY_CURRENT_CONFIG 此键实际上就是HKEY_CURRENT_CONFIG中的一部分,其中存放的是计算机当前设置,如显示器、打印机等外设的设置信息等.它的子键与HKEY_LOCAL_MACHINE\CONFIG\0001分支下的数据是安全一样的. 6、HKEY_DYN_DA TA 此根键中保存了每次系统启动时,创建的系统配置和当前性能信息.(但这个根键只存在于WINDOWS 9X 中.) HKEY_PERFORMANCE_DATA 在WINDOWS NT/2000/XP注册表中虽然没有HKEY_DYN_DA TA根键,但它即隐藏了一个名为"HKEY_PERFORMANCE_DA TA"的键.所有系统中 的动态信息都是存放在此子键中.系统自带的注册表编辑器无法看到此键,但可以用专门的程序来查看此键,如使用性能监视器. WELL,通过上述简单的介绍,相信大家对注册表都有了一定的认识.下面来详细讲述一下注册表的实用技巧和本人的少少实践心得. 对于新手在这讲解一些基本操作: A、如何在某根键下创建子键或键值顶 打开注册表的方法:开始→运行→输入regedit→确定→即可打开注册表编辑器。如在某根键下建立子键或在子键下建立键值项,在相应的根键或子键下右击鼠标→新建→选择你想建立的项或键值项(字符串、二进制、DWORD值等),如图所示:在下面子键中创建。。。

注册表的基本结构

注册表的结构 在中文Windows 系统中,注册表采用“关键字”及其“键值”来描述登录项及其数据。所有的关键字都是以“HKEY”作为前缀开头。实际上,“关键字”是一个句柄。这种约定使得系统及应用程序开发人员可以在使用注册表API函数时把它用于应用程序的开发之中。为此,中文Windows 提供了若干个Win32 API 函数,以便在开发中文Windows 应用程序时添加、修改、查询和删除注册表的登录项。 在注册表中,关键字可以分为两类:一类是由系统定义的,通常称为“预定义关键字”;另一类是由应用程序定义的,安装的应用软件不同,其登录项也就不同。 1. HKEY_CLASSES_ROOT 该主关键字(或称为“根键”)包含了有关的OLE信息,以便在系统工作过程中实现对各种文件和文档信息的访问,如图1-4所示。其具体的内容有已经注册的文件扩展名、文件类型、文件图标等。 2.HKEY_USERS PC用户都可以在这里设置自己的关键字和子关键字,根据当前登录的用户不同,这个关键字又可以指向不同的分支部分。这个分支部分将映射到HKEY_CURRENT_USER主关键字中,用户根据个人爱好设置的诸如桌面、背景、开始菜单程序项、应用程序快捷键、显示字体、屏幕节电设置等信息均可以在这个关键字中找到。该主关键字中的大部分设置都可以通过“控制面板”来修改,如果用户登录到系统中的信息没有预定义的登录项,则采用该关键字下面的“.Default”子关键字。 3.HKEY_CURRENT_USER HKEY_CURRENT_USER主关键字是一个指向HKEY_USERS结构中某个分支的指针,它包含当前用户的登录信息,实际上它就是HKEY_USERS\.Default下面的一部分内容。如果在HKEY_USERS\.Default下面没有用户登录的其他内容,那么这两个主关键字包含的内容是完全相同的。 4.HKEY_LOCAL_MACHINE 该主关键字包含了本地计算机(相对网络环境而言)的硬件和软件的全部信息,如图1-9所示。当系统的配置和设置发生变化时,本关键字下面的登录项也将随之改变。 5.HKEY_CURRENT_CONFIG 这个主关键字实际上也是指向HKEY_LOCAL _MACHINE\Config结构中的某个分支

注册表编辑器的作用

注册表编辑器的作用 注册表编辑器的作用2008-03-25 22:18 从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念)。注册表是Windows 95及Windows 98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于某种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。 一、注册表的结构划分及相互关系 WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。 在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。 Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。 注册表的根键共六个。这些根键都是大写的,并以HKEY_为前缀;这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。 虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是 HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。 HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。 实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理, HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是 HKEY_LOCAL_MACHINE\SYSTEM\Current Control。 HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER 中保存了当前登录用户的用户信息。 HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。 根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS 两大类,这两大类的详细内容请看后面的介绍。 二、六大根键的作用 在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表

Windows注册表说明文档

Windows注册表说明文档 目录 1.注册表概述 (2) 1.1. 定义 (2) 1.2. 作用 (2) 1.3. 配置文件 (2) 1.4. 编辑器程序 (3) 1.5. 基本结构 (3) 1.6. 数据类型 (4) 1.7. 五大预定义项 (6) 2.注册表相关操作 (6) 2.1. 修改注册表 (6) 2.2. 备份注册表 (7) 2.2.1.什么情况下备份注册表 (7) 2.2.2.备份注册表的方法 (7) 2.3. 注册表文件的修改 (7) 2.3.1.注册表文件的位置 (7) 2.3.2.修改方法 (7) 3.实例:软件与注册表 (8) 3.1. 相关表项 (8) 3.1.1.HKCU\Software项 (8) 3.1.2.HKLM\SOFTWARE项 (8) 3.2. 软件安装与注册表 (8) 3.3. 软件信息与注册表 (8) 3.3.1.软件注册信息与注册表 (8) 3.3.2.软件运行信息与注册表 (9) 3.4. 注册表编写示例 (10)

1. 注册表概述 1.1. 定义 Windows注册表是Microsoft Windows 9x、Windows CE、Windows NT、Windows 2000、Windows XP和Windows Vista中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。 注册表包含Windows 在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在哪些硬件以及正在使用哪些端口。 注册表取代了Windows 3.x 和MS-DOS 配置文件(例如,Autoexec.bat 和Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然几个Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。 1.2. 作用 注册表是windows操作系统中存放着各种参数的核心数据库,用户通过注册表编辑器进行相应的编辑。注册表最基本的功能就是保存信息,当程序需要这些信息时,就从注册表里读出。注册表直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。 这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。在系统中注册表是一个记录驱动设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 1.3. 配置文件 注册表配置单元是注册表中的一组项、子项和值,它有一组包含其数据备份的支持文件。所有配置单元(HKEY_CURRENT_USER 除外)的支持文件都位于Windows NT 4.0、Windows 2000、Windows XP、Windows Server 2003 和Windows Vista 上的%SystemRoot%\System32\Config 文件夹中。HKEY_CURRENT_USER 的支持文件位于%SystemRoot%\Profiles\Username 文件夹中。这些文件夹中文件的文件扩展名指示各自包含的数据的类型。缺少扩展名有时也可能指示文件包含的数据的类型。 因为配置单元是一个文件,所以它可以从一个系统移动到另一个系统。但是,用户必须使用“注册表编辑器”编辑该文件。 Windows 2000/XP/Vista注册表中的每个配置单元均与一组标准文件相关联。下表显示

注册表各键值的简单介绍

正文:HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig01Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig01System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig01SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE

注册表概述

注册表概述 【简介】 注册表一直是Windows系统的核心配置文件,在系统中起着举足轻重的作用,一旦注册表出现问题,整个系统将变得混乱甚至崩溃。 一:注册表的结构 注册表是层次结构的数据库,由以下嵌套容器和数据组成: 子树----根目录或者层次结构的主要部分; 项----子树下的主要子容器。项可以包含子项或项值 子项----子女项 项值----影响系统的实际数据。项值在注册表编辑器右边的面板中显示。 HKEY---子树符号,设计者认为根目录是“到项的句柄”。HandleTo KEY的简写 1:蜂巢和蜂巢文件 物理上,注册表是一系列文件,被称为“蜂巢(hive)”。一个hive是注册表一个组成部分(项,子项和项值的特定部分),作为一个文件出现在计算机上。 蜂巢文件(因与蜂巢单元结构相似性而命名),只能在注册表编辑器中显示或修改。但它可以复制到任何地方,即手工备份的方法。以“.dat”文件形式保存,并且每个文件都有一个对应的“.log”日志文件,它是主.dat文件的事务日志。本质上,注册表就是一个LDAP。(轻量级目录访问协议服务) 注册表本身在HKEY_LOCAL_MACHINE\System\CurrentCtrolsetControl\Hive List上保留蜂巢文件记录。当观察这个列表时,会找到一些有意思的数据项。 首先,硬件项有个列表,但是在数据面板中没有蜂巢文件被命名。这是因为硬件项是在启动过程中从头创建的。https://www.doczj.com/doc/3514019161.html,文件收集生成项所需要的信息----操作系统并不从蜂巢文件中取回信息。 第二,文件的路径格式,它是\Device\HarddiskV olume1\windows\system32\config\。这个格式给出了一个线索,

注册表编程

1.基础知识 注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。分别介绍一下这三部分: (1)根键。分为5个,分别为HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS和HKEY_CURRENT_CONFIG,把它们理解成磁盘的五个分区可以了。 (2)子键。可以有多个子键和键值项,就像一个目录中可以有多个子目录和多个文件一样。(3)键值项。可以理解为文件,它由三部分组成,分别为:名称、类型、数据。 类型又分为多种主要包括如下: REG_BINARY 二进制数据 REG_DWORD 32位双字节数据 REG_SZ 以0结尾的字符串 REG_DWORD_BIG_ENDIAN 高位排在底位的双字 REG_EXPAND_SZ 扩展字符串,可以加入变量如%PATH% REG_LINK UNICODE 符号链接 REG_RESOURCE_LIST 设备驱动程序资源列表 REG_MULTI_SZ 多字符串 注册表数据项的数据类型有8种,但最常用的主要是前3种。 有了这些基础下面我们讨论如何编程实现对注册表的操作。 2.打开/关闭注册表句柄 在对注册表操作前应该先打开指定的键,然后通过键的句柄进行操作,打开键句柄可以用API RegOpenKeyEx来实现,其原形如下: RegOpenKeyEx( hKey,//父键句柄 lpSubKey,//子键句柄 dwOptions,//系统保留,指定为0 samDesired,//打开权限 phkResult,//返回打开句柄 ); 其中打开权限有多种,想方便的话可以指定为KEY_ALL_ACCESS ,这样什么权限都有了,当函数执行成功时返回ERROR_SUCCESS。 其实例代码如下: HKEY key; LPCTSTR data="SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,data,0,KEY_ALL_ACCESS,&key)==ERROR_SUCCESS) ...{ /**//*需要执行的操作...*/ } ::RegCloseKey(key); 要注意的是,在使用后应该调用RegCloseKey()函数关闭句柄. 3.获取子键/键值信息 在现实的编程操作中我们常常需要获取子键/键值的信息比如:子键/键值的数量,长度,以及数据的最大长度等等,这些信息可以通过RegQueryInfoKey函数来获取。 它的原型如下:

Windows系统注册表的组成分析

Windows NT注册表的组成与分析 和Windows9x一样,Windows NT也有注册表。注册表是保存系统配置的重要数据库,不过,与Windows 9x相比,它只包含五个部分: (1)HKEY-LOCAL-MACHINE:用于保存本机系统的信息,包含硬件与操作系统的数据,如驱动程序、系统配置信息等; (2)HKEY-CLASS-ROOT:用于保存与关联有关的信息; (3)HKEY-CURRENT-CONFIG:保存与当前的硬件配置文件有关的数据; (4)HKEY-CURRENT-USER:保存与当前登录的用户有关的环境设置的数据,包含桌面设置、网络连接等; (5)HKEY-USERS:保存当用户登录时,所有必须载入的用户配置文件数据,包含缺省的配置文件和登录者的环境配置文件。 另外,在WINNT中启动注册表编辑器,应该执行"开始/运行"命令,在"运行"对话框中输入REGEDIT32.EXE(而不是Windows 9x的REDEDIT.exe),并确定。 Windows Me注册表的组成与分析 与Win 98不同,WinMe的注册表是由Windows目录下的Classes.dat、User.dat(用户配置信息)和System.dat(系统配置信息)三个二进制文件组成的,其"项值"与Win 98一样有字串值(REG_SZ)、二进制值(REG_BINARY)、双字节值(REG_DWORD)三种类型。 与Win 98相同,WinMe也有个注册表编辑器Windows\Regedit.exe(见图1),用来搜索或修改注册表。 WinMe注册表编辑器左边窗口中,最上面一层是"我的电脑",下面有6个分支:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG、HKEY_DYN_DATA,各分支的功能简要描述见表1。 分支名 功能 hkey_classes_root 所有用户都要使用该分支,存放可打开文件的类型、扩展名以及与应用程序的关联等 hkey_current_user

注册表的基本操作

第9章 注册表常用技巧 9.1 注册表的基本操作 1.注册表有何重要性 答:注册表(Registry )是Windows 操作系统、硬件设备及客户应用程序得以正常运行和保存设置的核心“数据库”。它记录了用户安装在电脑中的所有软件和每个程序的相互关联信息,包含了电脑中所有硬件设备的说明、状态属性及各种状态信息和数据。 有了这个数据库做基础,我们就可以调整软件的运行性能,检测和恢复系统错误,定制桌面等。因此,掌握了注册表,就掌握了对电脑配置的控制权。 2.如何在注册表中建立主键 主键。下面我们以在“HKEY_CURRENT_USER\Software ”分支下创建一个“注册表世界”的主键为例介绍一下建立主键的方法。 01 选择“开始”>“运行”命令,打开“运行”对话框,输入“regedit ”,如图9-1所 示,单击“确定”按钮。 图9-1 “运行”对话框 02 在“注册表编辑器”的左窗口中展开“HKEY_CURRENT_USER\Software ”项,如 图9-2所示,选择“编辑”>“新建”>“项”命令,在“Software ”键下出现一个等待输入名称的主键,输入“注册表世界”,按【Enter 】键,即可完成主键的建立。 图9-2 注册表编辑器 3.如何建立键值数据 个名为“RegisterNewInfo ”的键值为例介绍一下具体操作步骤。 01 选择“开始”>“运行”命令,在打开的“运行”对话框中输入“regedit ”后按 【Enter 】键,打开“注册表编辑器”。

02在“注册表编辑器”的左窗口中展开“HKEY_CURRENT_USER\Software\注册表世界”项,如图9-3所示,选择“编辑”>“新建”>“字符串值”命令(数据类型自己根据需要进行选择),此时在窗口的右侧便会出现一个等待输入名称的键值,在其名称编辑框中输入“RegisterNewInfo”后按【Enter】键,至此键值建立完毕。 图9-3 新建键值 4.怎样重命名主键或键值 01右击希望重命名的主键或键值,在弹出的快捷菜单中选择“重命名”命令(如图9-4所示)。 图9-4 选择重命名命令 02在主键或键值的名称编辑框中输入新的名称,如图9-5所示,然后按【Enter】键即可。 图9-5 重命名键值 5.如何更改键值

Windows注册表常识简介

Windows注册表常识简介(菜鸟必读) 对我们大多数人而言,注册表就像我们汽车上的密封垫片:我们知道它在那里,它至关重要而且我们感觉不到它的存在。就像一辆车的密封垫片如果不合适,那它就不能跑很远,错误的注册表可以终止Windows,甚至让它无法启动。但如果你知道你正在做什么,注册表会在高效处理方面成为你的重要的帮手。 该指南将告诉你该如何安全地编辑注册表以个性化你的计算机。也就是说,要明白注册表并不是Windows中可有可无的元素。一个错误的修改可以导致PC 的崩溃,所以在你完整地读完这篇指南之前请不要尝试做任何修改。 即使目前你还缺乏做任何修改的自信,我们建议你往下读,在理解了注册表如何控制你的PC之后,将会扩展你各方面的计算机知识并且在以后可以帮助你修复各种问题。 并非所有修改都是好的 在我们开始之前,请允许我详细叙述我们对注册表进行修改的警告。注册表中包含的大多数信息对平稳运行Windows至关重要,修改或删除这些值会完全终止你的计算机。 另一项需要记住的重要事情是对注册表的任何修改输入之后,它们就开始发生作用。注册表和Word文档不一样,Word是你必须选择保存,而且也没有撤销功能。这里不是可以胡乱进行修补的地方,但是有一个很容易就实施的保险策略。和其他类型的数据一样,注册表信息可以被备份,创建一个拷贝从而如果出现问题就可以进行恢复。 实际上,注册表非常重要,以至于Windows在每次开始的时候都会自动对它进行备份。Windows可以利用该备份自动修复某些问题,但你所做的多数修改都需要你自己来修复。 在进行修改之前,最简单的保护自己的方法是创建一个系统恢复点,这让注册表在某个点建立单独的、不可修改的记录,如果需要你可以返回到这个点。 你或许还希望用笔和纸记下你对注册表所作的所有修改。虽然计算机没有完全停止工作,你可能想撤销某些修改,而且很容易就可以实现这一点,只需通过快速查阅记录,而不必恢复整个注册表。 注册表的任务是什么? 考虑到这些警告,你可能奇怪注册表真正做了什么,以及为什么所有人都想胡乱地修补它。它是所有和Windows以及你在计算机上安装的软件、硬件相关的设置和信息的一个中央记录。在Windows 95之前,这些信息被保存在大量不同的文本文件当中。它们很容易被编辑,而你首先必须要找到它们,而且在你编程试图和它们进行交互的时候经常会发生问题。 注册表的一个好处是添加或删除程序功能,这是开始菜单中控制面板功能的一部分。你安装软件的时候,在注册表中做了一个记录,所以在添加或删除程序中作为一个专门列表的一部分出现。 注册表的功能是什么? 注册表保存在你的硬盘的几个文件当中,但访问和修改它们的唯一途径是使用注册表编辑器程序。要访问它,点击开始按钮,然后点击运行。在出现的对话框中输入regedit并按Enter键。这会进入注册表编辑器,你现在就看到了注册表。 注册表组织得更像磁盘上的文件,如果你曾经在Windows浏览器中使用过文件夹视图的话,你会根据很熟悉。然而在注册表中,这些文件夹被称为键。要

相关主题
文本预览
相关文档 最新文档