注册表管理工具设计与实现毕业设计论文.doc_第1页
注册表管理工具设计与实现毕业设计论文.doc_第2页
注册表管理工具设计与实现毕业设计论文.doc_第3页
注册表管理工具设计与实现毕业设计论文.doc_第4页
注册表管理工具设计与实现毕业设计论文.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕毕 业业 设设 计计( 论论 文文) 注册表管理工具的设计与实现注册表管理工具的设计与实现 论论文作者姓名:文作者姓名: 申申请请学位学位专业专业: : 申申请请学位学位类别类别: : 指指导导教教师师姓姓名名( (职职称称) ): : 论论文提交日期:文提交日期: 注册表管理工具的设计与实现注册表管理工具的设计与实现 摘摘 要要 由于 windows 的注册表几乎包含了所有的 windows 系统软硬件的配置信息和初始化 信息,因此,它是 windows 操作系统的核心。当用户在编辑注册表的时候,很容易破坏注 册表数据,结果会导致操作系统瘫痪,所以注册表工具成为用户的一种常用的工具软件。 该课题从注册表的常见编辑功能出发,进行集成化设计,为用户提供一种实用的注册表工 具软件。该工具软件在 vc6.0 开发环境下完成了 5 项主要功能,即系统基本配置管理、系 统安全管理、windows xp sp2 设置技巧、应用软件优化和反黑防毒。其中系统基本配置管 理完成了主机名修改、修改注册用户和公司名、个性化电脑、系统优化设计管理、网络管 理;系统安全管理完成了隐藏盘符、浏览缺省主页的修改及锁定、设置 ie 安全、拒绝匿名 访问和桌面安全;windows xp sp2 设置技巧完成了系统设置、安全设置、网络设置;应用 软件优化完成了 netmeeting 优化设置、winrar 优化设置、windows media player 优化设 置;反黑防毒抵御了常见的攻击行为,即 syn flood 攻击、backdoor 攻击、winnuke 攻 击。最后,通过测试,满足了用户常用需求,但是还需要进一步详细设计,才能成为一个 功能强大的注册表管理工具。 关键词关键词:注册表;键值;windows design and implementation of management tool for registration abstract windows registration almost includes all configuration and initial information of software and hardware, so it is the core of windows operation system. it is very easy to destroy the registry data when user is editing registration, it even can lead system to paralysis, so the registration table tools become a kind of software tools in common use. the design of this project basing the function of the registry common edition is integrated design that is to provide a practical registry software tool. five main functions are completed in vc6.0 development environment that are system configuration manage, system security management, and skill of setting windows xp sp2, optimization of application software and anti-virus and anti-hacking. the system basic configuration management includes modify host, user and company names, and individuation computer, managing system optimization design, network management. system security management includes hiding drive, modifying and locking the default homepage, setting ie security, refusing to anonymous visits and setting desktop security. skill of setting windows xp sp2 includes configuring system, configuring security, and configuring network. optimization of application software includes netmeeting optimization, optimization win rar setting, and windows media player optimization. anti-virus and anti-hacking defend the common attack behavior such as syn flood attack, backdoor attack, winnuke attack. finally, it satisfies the users by the test, but the further detailed design is needed, then it will become a powerful management tool of windows registration. keywords: registration; key value; windows 目目 录录 论文总页数:30 页 1 引言1 1.1 课题背景 .1 1.2 课题研究的意义 .1 1.3 课题研究的方法 .1 2 理论基础1 2.1 windows 2000/xp 的物理文件构成 .1 2.2 五大注册表根键的概述2 2.2.1 windows nt 注册表五大根键 .2 2.2.2 windows 2000 注册表五大根键 .3 2.2.3 windows xp/2003 注册表的五大根键 5 2.3 windows 2000/xp/2003 注册表的五大根键解析.6 2.3.1 hkey_classes_root 根键 6 2.3.2 hkey_current_user 根键 7 2.3.3 hkey_users 根键 .7 2.3.4 hkey_local_machine 根键 10 2.3.5 hkey_current_config 根键 .13 3 设计方案.14 3.1 开发技术 14 3.2 基本设计 14 4 系统实现.14 4.1 系统基本配置管理 14 4.1.1 主机名修改.15 4.1.2 修改注册用户名和公司名.15 4.1.3 个性化电脑.16 4.1.4 系统优化设置管理.16 4.1.5 网络管理.17 4.2 系统安全管理 18 4.2.1 隐藏盘符.18 4.2.2 浏览器缺省主页的修改及锁定.18 4.2.3 设置 ie 安全19 4.2.4 拒绝匿名访问和桌面安全.19 4.3 windows xp sp2 设置技巧 20 4.3.1 系统设置.21 4.3.2 安全设置.21 4.3.3 网络设置.22 4.4 应用软件优化 22 4.4.1 netmeeting 优化设置 23 4.4.2 winrar 优化设置 23 4.4.3 windows media player 优化设置24 4.5 反黑防毒 25 4.5.1 防止 syn flood 攻击 .25 4.5.2 拯救被恶意代码攻击的 ie 浏览器25 4.5.3 抵御 backdoor 的破坏26 4.5.4 预防 winnuke 的破坏.26 5 测试结果.26 结 论.27 参考文献.27 致 谢.29 声 明.30 1 1 引言引言 1.11.1 课题背景课题背景 在 windows 3.x 时代,主要是通过 win.ini 和 system.ini 文件对 windows 进行配置 的,但是 win.ini 和 system.ini 文件存在安全性不高,大小受到限制等问题,为了解决这 一问题 microsoft 公司(windows 系统的开发者)在 windows 95 版本及以后的版本中引入 了注册表这一概念,以便更好的对 windows 系统进行更好的配置,这就是为什么我们要使 用注册表。注册表的主要功能简单的说,它是用来对 windows 操作系统进行配置的一个工 具。通过它,可以对操作系统以及应用软件进行优化,可以自己设置 windows 的使用权限, 可以解决硬件及设置不当带来的故障,甚至可以改造操作系统。 1.21.2 课题研究的意义课题研究的意义 注册表被称为 windows 操作系统的核心,它实质上是一个庞大的数据库,存放了关于 计算机硬件的全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联 关系、硬件设备的说明以及各种状态信息和数据,包括 windows 操作时不断引用的信息。 具体来说,在启动 windows 时,注册表会对照已有硬件配置数据,检测新的硬件信息;系 统内核从注册表中选取信息包括要装入什么设备驱动程序,以及按什么次序装入,内核传 送回它自身的信息,例如版权号;同时设备驱动程序也向注册表传送数据,并从注册表接 收装入和配置参数,一个好的设备驱动程序会告诉注册表它有使用什么系统资源,例如硬 件中断或 dma 通道等,另外,设备驱动程序还要报告所发现的配置数据;为应用程序或硬 件的运行提供增加新的配置数据的服务。 1.31.3 课题研究的方法课题研究的方法 注册表管理工具是建立在 windows xp、windows 2000 和 windows 2003 平台上的应用 程序设计。要掌握注册表各个根键所对应的系统功能,要清楚的知道注册表的数据类型。 要对注册表的相应的键值进行准确的读取和写入,使用 microsoft visual c+ 6.0 作为开 发工具,利用 vc 提供的 api 函数完成应用程序的编写。主要运用 regopenkeyex()、 regqueryvalueex()、regsetvalueex()等函数来完成注册表键值的读写、创建与删除,从 而实现对系统设置。 2 2 理论基础理论基础 2.12.1 windowswindows 2000/xp2000/xp 的物理文件构成的物理文件构成 在讲述 windows 2000 的物理文件构成时,必须提到一个概念,即配置单元文件。在 windows 2000 注册表编辑器中,文件菜单下有个“加载/卸载文件配置单元”选项。所谓 的配置单元是作为文件出现在硬盘上的注册表的一部分。注册表子树被划分成配置单元。 配置单元是根键、子键和键值的离散体,它位于注册表层的顶部。配置单元受 systemrootsystem32config 或 systemrootprofileusername 文件夹中的单个文件和. log 文件的支持。 默认情况下,大多数配置单元文件(default、sam、security、software 和 system)存储在 systemroot 文件夹。而每个计算机用户的配置文件信息(包括 ntuser.dat 和 ntuser.dat.log)的位置,取决于 windows 2000 是全新安装还是从 windows 95/98 或从 windows nt 升级安装。在全新安装以及从 windows 95/98 升级安装的 情况下,ntuser.dat 和 ntuser.dat.log 文件存储在%systemdrive%documents and settingsusername 文件夹中。在从 windows nt 升级的安装中,nturser.dat 和 ntuser.dat.log 文件存储在%systemroot%profileusername 文件夹中。 因为配置单元是一个文件,所以它可以从一个系统移动到另一个系统。但是,你必须 使用注册表编辑器编辑该文件。 windows 2000 注册表中的每个配置单元均与一组标准文件相关联。如下表 1 所示显示 运行 windows 2000 的计算机的标准配置单元和文件: 表 1 配置单元与对应的文件 注册表配置单元注册表配置单元对应的文件名对应的文件名 hkey_local_machinesam sam 和 sam.log hkey_local_machinesecurity security 和 security.log hkey_local_machinesystem system 和 system.log hkey_current_config system 和 system.log hkey_current_user ntuser.dat 和 ntuser.dat.log hkey_usersdefault default 和 default.log hkey_local_machinesoftware software 和 software.log windows xp 注册表物理文件构成与 windows 2000 基本相同。知道 windows 注册表物 理文件的构成及保存位置对于注册表的备份和恢复十分有用。因此,这里有必要介绍注册 表物理文件的另一个保存位置:windowsrepair。这个文件夹中保存的是初始化注册表的 5 个文件(system、software、sam、security、default) ,在因注册表的无缘无故造成系 统崩溃时,将它们复制到 system32config(先将备份后删除)中可以来挽救系统。 2.22.2 五大注册表根键的概述五大注册表根键的概述 .1 windowswindows ntnt 注册表五大根键注册表五大根键 windows nt 的注册表只包含了五大根键,在注册表编辑器的组织结构中,去掉了 hkey_dyn_data 根键,使注册表编辑器开始显示为五大根键;以后基于 nt 的操作系统 windows 2000/xp/2003 也都显示为五大根键。 (1)hkey_local_machine:用于保存本机系统的信息,包含硬件与操作系统的数据, 如驱动程序、系统配置信息等; (2)hkey_class_root:用于保存与文件关联有关的信息; (3)hkey_current_config:保存与当前的硬件配置文件有关的数据; (4)hkey_current_user:保存与当前登录用户有关的环境设置的数据,包括桌面设置、 网络连接等; (5)hkey_users:保存当用户登录时,所有必须载入的用户配置文件数据,包括缺省 的配置文件和登录者的环境配置文件。 .2 windowswindows 20002000 注册表的五大根键注册表的五大根键 像 windows nt 一样,windows 2000 的注册表编辑器去掉了 hkey_dyn_data 根键,只 有 hkey_local_machine、hkey_classes_root、hkey_current- _config、hkey_users、hkey_current_user 五个根键: (1) hkey_local_machine hkey_local_machine 根键中保存的是用来控制系统和软件的设置。由于这些设置是针 对那些使用 windows 系统的用户而设置的,是一个公共配置信息,所以它与具体用户无关。 该根键包含下面五个子键: hardware 子键 该子键包含了系统使用的浮点处理器、串口等有关信息。在它下面保存了一些有关超 文本终端、数字协处理器和串口等信息。 sam 子键 该子键已经被系统保护起来,我们不可能看到里面的内容。 security 子键 该子键位于 hkey_local_machinesecurity 分支上,该分支只是为将来的高级功能而 预留的。 software 子键 该子键中保留的是所有已安装的 32 位应用程序的信息。各个程序的控制信息分别安 装在响应的子键中。由于不同的计算机安装的应用程序互不相同,因此这个子键下面的子 键信息会有很大的差异。 system 子键 该子键保存的是启动时所使用的信息和修复系统时所需的信息,其中包括各个驱动程 序的描述信息和配置信息等。system 子键下面有一个 currentcontrolset 子键,系统在这 个子键下保存了当前的驱动程序控制集的信息。 (2)hkey_classes_root 根键 在 windows 2000 中对 hkey_classes_root 子树做了改进。hkey_classe_root 子树与 当前注册使用的用户有关,它实际上是 hkey_current_usersoftwareclasses 和 hkey_local_machinesoftwareclasses的交集。如果两者的内容有冲突,则 hkey_current_usersoftwareclasses 优先。这个新的特性在 windows 2000 中叫做“单 用户类注册”(per-user class registration)。单用户类注册有如下的好处: 同一台计算机上的不同用户可以分别定制不同的系统配置 例如,用户甲安装了 acdsee 图形软件,将 bmp 文件与 acdsee 图形软件建立关联。而 用户乙安装了 photoshop 图形软件,将 bmp 文件与 photoshop 图形软件建立关联,当用户 乙双击 bmp 文件时,会自动调用 photoshop 图形软件,而不会调用用户安装的 acdsee 图形 软件。 提高了注册表的安全性 使用单用户类注册,各个用户有自己的 hkey_classes_root,不再需要通过修改 hkey_local_machine/software/classes 来满足自己的需求,这样系统管理员可以提高 hkey_local_machine/software/classes 的权限,禁止普通用户修改它,而各个用户之间 更是不能修改对方的 hkey_classes_root。 支持漫游类注册 在 windows 2000 中,提供了一个叫做“intellimirror”的功能。通过在服务器和客 户端同时使用 intellimirror,用户的数据、应用程序和设置在所有的环境中都可以跟随 用户漫游,这当然包括了用户的配置文件。hkey_classes_root 根键中记录的是 windows 操作系统中所有数据文件的信息,只要记录不同文件的文件名后缀和与之对应的应用程序。 hkey_classes_root 根键中保存的信息与 hkey_local_machinesoftwareclasses 分支中 保存的信息是一致的。 (3)hkey_current_config 根键 如果用户在 windows 中设置了两套或者两套以上的硬件配置文件,则在系统启动时将 会让用户选择使用哪套配置文件。而 hkey_current_config 根键中保存的正是当前配置文 件的所有信息。 (4)hkey_users 的根键 hkey_users 根键中保存的是默认用户(.default)、当前登录用户与软件的信息。它的 下面有.defaul、s-1-5-21-1229272821-436374067-1060284298-1000 和 s-1-5-21- 1229272821-435374069-1060264298-1000_classes 三个子键,其中最重要的是.default 子 键。 .default 子键的配置是针对未来将会被创建的新用户的。新用户根据默认配置信息来 生成自己的配置文件,该配置文件包括环境、屏幕、声音等多种信息。 (5)hkey_current_user 根键 hkey_current_user 根键中保存的信息(当前用户的子键信息)与 hkey_users.default 分支中所保存的信息是相同的。任何对 hkey_current_user 根键中 的信息的修改都会导致对 hkey_users.default 中子键信息的修改,反之也是如此。 .3 windowswindows xp/2003xp/2003 注册表的五大根键注册表的五大根键 我们知道,windows nt/2000 都提供了两个注册表编辑器 regedit 和 regedt32,二者 在功能和组织体系上都有不同,在实际的注册表编辑中也各有优点和缺点;从 windows xp 开始,开始将这两个注册表编辑器的功能合在了一起,所以两者在细节方面肯定有一些不 同。但在 windows xp 同样拥有五大根键,且根键的功能含义和映射关系都和 windows 2000 保持了一致。在注册表物理文件的构成上,也是一致的。再来看看每个根键单独包含 的信息: (1)hkey_classes_root 根键 hkey_classes_root 根键包含了启动应用程序所需的全部信息,其中包括:所有扩展 名以及应用程序和文档之间的关联信息;所有驱动程序的名字;当作指针的字符串,指向 它们代表的实际文件;类标识 clsid,这在访问子键信息时非常有用,因为 windows 中访 问子键的信息都是用 clsid 来代替的。这里的标识在 windows xp 系统中是唯一的;dde 和 ole 信息。对于每个文件关联都可以使用 dde 和 ole 功能;应用程序和文档使用的图标。 (2)hkey_current_user 根键 hkey_current_user 根键用于管理与当前登录系统的用户有关的信息,其中包括:用 户的桌面以及 windows xp 对用户呈现的外观和行为;与所有网络设备的连接,如打印机、 共享磁盘空间等资源;桌面程序项、应用程序参数选择项、屏幕颜色等其他一些个人偏好, 还有安全权限等。 (3)hkey_local_machine 根键 hkey_local_machine 根键保存了运行 windows 的信息,包括应用程序、驱动程序以及 硬件信息它有五个独立的子键: hardware:其中保存了含有计算机硬件信息的子键,在启动系统时,hardware 子 键都被重新创建,这样就很容易向系统中添加新硬件了。用户对 hardware 子键进行的修改 没有任何意义也不会生效,更不用像通过其中的 cpu 信息实现超频了。因为它是系统根据 硬件信息在启动时自己填写的,而不是根据它的数据去启动硬件。 sam:这是一个关于安全账号管理器的子键,其中存储着用户信息和域信息。无论 是哪种注册表,sam 中的信息都是不可访问的,只能由系统管理员通过用户管理器进行管 理。 security:这里的信息与本地安全性和用户权限有关,其中含有 sam 子键的备份。 它也是用户不能访问的,只能由系统管理员的管理工具修改。 software:其中包含了已经安装的系统软件和用户软件信息。 system:其中含有与系统启动、设备驱动程序、服务和 windows xp 配置有关的信 息。 (4)hkey_users 根键 hkey_users 根键中包含着所有用户配置文件的当前活动用户的信息。其中的.default 是为那些没有用户配置文件的登录用户而设置的。hkey_users 中典型的用户配置文件都包 括如下一些子键: appevents:其中的 eventlabels 包括与事件有关的信息,而 schemes 则包括一些 针对自己使用特定声音方案的应用程序的标签。 console:包含缺省的命令提示符配置。 control panel:包含控制面板上的小信息。 environment:包含用户环境信息。 keyboard layout:包含键盘配置信息。 printers:包含与计算机相连的每一台远程打印机的映射信息。 software:包含系统中已安装的软件信息。 unicode program groups:包含的是关于那些使用 unicode 的程序信息。 (5)hkey_current_config 根键 hkey_current_config 根键是 hkey_local_machine 中的内容映射。如果系统中只有一 个硬件配置,则其中的数据是和 hkey_local_machine 中一样的。若系统中新建了一个硬件 配置“(控制面板系统硬件配置文件)” ,就会在 hkey_local_machine 中反映出来,在 启动时会选择一种配置文件映射到 hkey_current_config 中。 2.32.3 windowswindows 2000/xp/20032000/xp/2003 注册表的五大根键解析注册表的五大根键解析 .1 hkey_classes_roothkey_classes_root 根键根键 (1)扩展名与应用程序的对应关系 windows 所支持的文件类型在 hkey_classes_root 根键下定义。下表中列出了 hkey_classes_root 根键中的文件扩展名和文件类型之间关系,如表 2 所示。 表 2 hkey_classes_root 和文件类型之间的关系 扩展名扩展名文件类型文件类型扩展名扩展名文件类型文件类型 .386 vxd 文件(这是一个虚拟设备驱动程序) .aif .aiff 文件 .ai application/postscript 文件 .aiff aiff 文件 .aifc aiff 文件 .art art 文件 .ani ani 文件(光标动画文件) .awd faxview 文档(用于传真显示) .au au 文件(用于 internet 传输的声音文件) .avi avi 文件 .snd au 文件 .bfc briefcase(一种公文包文件) .bat bat 文件(dos、windows 下的批处理文件) .cda cda 文件 .bmp paint、picture(这是一个由画图附件所 产生的文件) .crt certificate 文件(这是一个用于 安全方面的证书认证文件) .cnf conferencelinl(这是一个会议连接) .clp clipboard 文件(用于保存剪贴板 中的内容) .der certificate 文件 .com com 文件(这是 dos、windows 上 一个命令解释程序) (2)特殊扩展名与应用程序的对应关系 我们在注册表编辑器中可以发现,hkey_classes_root 根键下的文件扩展名前面有 “+”符号,而且在此文件扩展名中没有对应的应用程序。为了查明这些文件后缀与应用程 序之间的关系,我们必须单击“+”一次或者几次,才可以看到它们的关系。 .2 hkey_current_userhkey_current_user 根键根键 hkey_current_user 根键中保存的信息(当前用户的子键信息)与 hkey_users.default 分支中所保存的信息基本是相同的。任何对 hkey_current_user 根 键中的信息的修改都会导致对 hkey_user.default 中子键信息的修改,反之也是如此。 .3 hkey_usershkey_users 根键根键 (1)appevents 子键 hkey_user 根键中保存的默认用户,当前登录用户与软件的信息。 hkey_users.defaultsoftware 中保存的软件信息与 hkey_local_machinesoftware 相同。 hkey_current_user.default 下面有八个子键。其中除 remoteaccess 子键外,下面 是其中几个系统预定义的子键。 appevents:登录已注册的各种应用事件。 control panel:与控制面板设置有关的内容。 keyboard layout:键盘设置信息。 software:软件设置信息。 .default 子键的配置是针对未来将会被创建的新拥护的。新用户根据默认用户的配置 信息来生成自己的配置文件,该配置文件包括环境、屏幕、声音等多种信息。 (2)controlpanel 子键 control panel 子键位于 hkey_useers.defaultcontrol panel 分支上,它所包含的 内容与桌面、光标、键盘、和鼠标等设备有关,改变它们的键值就将改变对应的工作环境 或参数,如图 1 所示的就是 control panel 的子键结构。 图 1 control panel 子键结构 在图 1 中,我们可以看到,control panel 子键下面又有二十几个子键,根据系统配 置和设置情况的不同,子键的数目也会不同。 虽然 control panel 子键中的键值与环境和特性有直接关系,但有很多参数的改变并 不要求用户通过修改注册表来实现,而只需通过“控制面板”即可进行修改。也有一些环 境特性的改变只能通过修改注册表来实现。 control panelaccessibility 子键 accessibility 子键包含了十个子键,多数子键在“控制面板”窗口的“辅助选项” 图标中都有对应的选项。这些子键的键值名中一般都有一个“on” 。当其键值为 0 时,表示 此设置无效;而当其键值为 1 时,则表示此设置生效。 control panelappearance 子键 该子键下的键值中列出了可供选择的各种颜色和图案。你可以在“控制面板” 的“显示属性”对话框的“外观”选项下的“方案”下拉菜单中,看到这些颜色和图案的 中文名称。在 appearance 子键下还有一个 scheme 子键,用于设置配色方案的,这些图案 使用十六进制数值表示出来。 control panelcolors 子键 该子键用于设置桌面上各种项目颜色。可以在“控制面板”的“显示属性”对话框中 的“外观”选项下的“颜色”框内,看到这些项目所设置的颜色。 control paneldesktop 子键 该子键的键值列出了桌面和窗口的各种部件,如窗口边界、标题、图标、菜单、滚动 条、消息框的长度、宽度和字体等数据。这些数据可以在“控制面板”的“显示属性”对 话框中进行修改。 control panelinput method 子键 该子键的键值中记录了输入法切换热键的有关数据。这些数据你可以在“控制面板 输入法”对话框中的“热键”选项下进行修改。 control panelinternational 子键 该子键的键值中登录了表示时间的“上午”和“下午”的数据。这些数据可以在“控 制面板”中打开“区域设置”对话框中的“时间”选项下进行修改。 control panelkeyboard 子键 该子键的键值登录了击键时的重复延时和重复速率。这些数据可以在“控制面板”中 打开“键盘”对话框中的“速度”选项下进行修改。 control panelmouse 子键 该子键的键值中登录了鼠标的双击速度和指针的移动速度。这些数据可以在“控制面 板”中打开“鼠标”对话框中的“按钮”和“移动”选项下修改。 control panelpowercfg 子键 该子键用于设置电源管理的有关数据。这些数据可以在“控制面板”中打开“电源管 理”对话框中的“电源方案”选项进行修改。 (3)keyboard layout 子键 该子键位于 hkey_users.defaultkeyboard layout 分支上,用于设置键盘的布局, 如键盘语言的加载顺序等,如下 2 所示: 图 2 keyboard layout 子键 该子键下面提供了如下三个子键: preload 子键 该子键位于 hkey_users.defaultkeyboardlayoutpreload 分支上,用于设置键盘 语言的加载顺序。preload 子键下面的子键个数与你在系统中所安装的键盘语言有关。 substitutes 子键 该子键位于 hkey_users.defaultkeyboardlayoutsubstitutes 分支,用于设置可 替换的键盘语言布局。在通常情况下,此子键的设置是空的。 toggle 子键 该子键位于 hkey_users.defaultkeyboardlayouttoggle 分支上用于选择键盘语言。 (4)software 子键 software 该子键对于不同的计算机其键值数据是不同的。此子键其实是 hkey_local_machinesoftware 分支的一部分,由于 windows 中文版内嵌了许多 microsoft 公司开发的应用程序,因此,该子键在注册表中就显得十分重要。通过修改该子键下的子 键,就可以实现 windows 的某些重要功能。 softwaremicrosoft 子键 该子键用于设置 microsoft 公司开发的应用程序键值数据。 microsoftinternet account manager 子键 在个人用户计算机上,该子键位于 hkeyy_current_usersoftwaremicro- softinternet account manager 分支上,而不存在于 hkey_users 相应的位置 internet 账号管理器(internet account manager)。 2.3.4 hkey_local_machine 根键根键 hkey_local_machine 根键中存放的是用来控制系统和软件的设置。它是一个公共配置 信息,只须做了解就可以了。hkey_local_machine 包括了五个子键,如图 3 所示。 图 3 hkey_local_machine 根键 hardware 子键:该子键下面存放一些有关超文本终端、数学协处理器和串口等信息。 hardware 子键下面包括了两个子键 devicemap(用于存放设备映象)、description(存放有 关系统信息)。devicemap 子键的层次结构如下: hkey_local_machinehardware hkey_local_machinehardwaredevicemap hkey_local_machinehardwaredevicemapserialcomm 在 hkey_local_machinehardwaredevicemapserialcomm 分支下面包括如下设置内 容: com1=com1:指定 com1 端口。 com2=com2:指定 com2 端口。 description 子键的层次结构如下: hkey_local_machinehardwaredevicemap hkey_local_machinehardwaredevicemapsystem hkey_local_machinehardwaredevicemapsystemfloatingpointprocessor hkey_local_machinehardwaredevicemapsystemfloatingpointprocessor0 sam 子键:系统自动将其保护起来。 security 子键:包含了安全设置的信息,同样也让系统保护起来。 software 子键:包含了系统软件,当前安装的应用软件及用户的有关信息。 system 子键:该子键存放的是启动时所使用的信息和修复系统说所需的信息,其中包 括各个驱动程序的描述信息和配置信息等。system 子键下面只有一个 currentcontrolset 子键,系统在这个子键下保存了当前的驱动程序控制集的信息。这里介绍的是 currentcontrolset 子键下面的 control 和 services 子键。 (1)control 子键 这个子键中保存的是由控制面板中各个图标程序设置的信息。由于控制面板中的各个 图标程序可能会把信息写在不同的子键下,所以用户最好不要通过注册表编辑器来修改这 些信息,否则容易引起系统死机。 controlfontassoc 子键 该子键存放的是有关字体设置信息(如却省字体、替代字体以及字体集等)。在 hkey_local_machinesystemcurrentcontrolsetcontrolfontassoc 分支下还有 associated、defaultfonts、associated charset 两个子键。 controlnls 子键 该子键在 hkey_local_machinesystemcurrentcontrolsetcontrolnls 分支中,它 是用来设置 windows 的语言特性,如代码页、eudc 内码范围、语言分类等。 controlsessionmanager 子键 该子键用于管理系统的会话。 controlmediaresources 子键 该子键用于设置多媒体资源,分支下还包括 directsound、joystick 等子键。 controlmediaproperties 子键 该子键用于设置多媒体属性。 controlfilesystem 子键 该子键主要对 windows 的 ntfs 及 windows3.1、windows9x 文件系统进行设置。 controlkeyboard layouts 子键 该子键主要对 windows 的键盘布局或者键盘语言进行设置。该子键下面包括多个关于 键盘语言的子键,这些子键使用数值表示出来。 controlupdate 子键 该子键用于确定“控制面板”窗口是否被刷新,此子键的功能与“控制面板”窗口中 的“查看”菜单中的“刷新”相同。 controltimezoneinformation 子键 该子键用于设置时区信息。 controlprint 子键 该子键用于设置打印机。 controlidconfigdb 子键 该子键用于显示硬件配置文件的配置数据、配置名称等其他信息。 controlcomputername 子键 该子键下面具有如下分层结构: hkey_local_machinesystemcurrentcontrolsetcontrolcomputernameactivecom putername hkey_local_machinesystemcurrentcontrolsetcontrolcomputernamecomputern ame 该子键用于设置计算机名称。 securityproviders 子键 该子键用于设置网络供应商的安全功能。 (2) services 子键 该子键位于 hkey_local_machinesystemcurrentcontrolsetservice 分支上。该子 键中存放了 windows 中各项服务的信息,有些是自带的,有些是随后安装的。在该子键下 面的每个子键存放相应服务的配置和描述信息。 servicesclass 子键 该子键中保存的是 windows 支持的不同种类硬件的信息,它下面的子键与“控制面板” 中添加新硬件的分类类似。 servicesvxd 子键 该子键位于 hkey_local_machinesystemcurrentcontrolsetservicesvxd 分支上。该 子键保存了 windows 中所有虚拟设备驱动的信息。由于 windows 系统能够自动管理这些信 息,因此,在通常情况下最好不要通过注册表编辑器来修改这些信息;但了解此子键下的 信息是有好处的,因为有一些功能(日拨号网络提速)必须修改此子键下的信息。 servicesremoteaccess 子键 该子键位于 hkey_local_machinesystemcurrentcontrolsetservices remoteaccess 分支上,存放的是和 windows 拨号网络有关的信息。 serviceswinsock2 子键 该子键位于 hkey_local_machinesystemcurrentcontrolsetservices winsock2 分支上,用于存放与 internet 连接时 winsock 2.0 版本的有关信息。 .5 hkey_current_confighkey_current_config 根键根键 如果在 windows 中设置了两套或者两套以上的硬件配置文件(hardware configuration file),则在系统启动时将会让用户选择使用哪套配置文件。而 hkey_current_config 根键中存放的正是当前配置文件的所有信息,如图 4 所示。在 windows 系统启动以后,任何对配置文件的修改都会同时影响到 hkey_local_machineconfig 分支、hkey_local_machineenum 分支和 hkey_current_config 中的相应内容。 图 4 hkey_current_config 根键 3 3 设计方案设计方案 3.13.1 开发技术开发技术 设计使用 visual c+ 6.0 作为开发工具,因为其作为 microsoft 的重要开发工具, 强大的开发功能勿庸置疑的,所以它也一直被程序员大为推崇。特别是 mfc 的功能日渐强 大,使程序的开发速度、效率大大提高。由于该程序主要是通过对注册表的查询、修改、 和创建等一些操作,来完成对系统设置的改变。因此使用 vc 能非常方便的完成这些操作。 在 vc 中可通过 mfc 访问注册表,也可以通过 api 函数操作注册表。本程序主要使用的 api 函数来完成对注册表的操作。这是因为 mfc 提供的访问注册表的函数,虽然操作起来很方 便,但功能有限。 3.23.2 基本设计基本设计 在对注册表操作时,都要先将需要操作的子键打开。一般用 regopenkeyex()来完成; 若该子键不存在,则需要用 regcreatekey()或者 regcreatekeyex(),这两个函数的作用是 用于创建指定键,若该键已存在就打开它。调用 regqueryvalueex()函数来获取一个指定 值名称的类型和数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论