用VisualC#实现对注册表的操作_第1页
用VisualC#实现对注册表的操作_第2页
用VisualC#实现对注册表的操作_第3页
用VisualC#实现对注册表的操作_第4页
用VisualC#实现对注册表的操作_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、用 Visuac#实现对注册表的操作、引言注册表是微软公司从Windows95开始引入了新概念。它本质上是Windows系统的一个核心的数据库,在这个数据库中存放 着与系统相 关的各种参数,这些参数直接控制系统的启动、硬件 驱动程序的安装信息 以及在系统上运行的各种应用程序的注册 信息等。这些作用包括了软、硬件 的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、和卸载数 首选项 据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系 统状态信息,以及其他数据等。如果注册表 受到了破坏,轻则使Windo

2、ws 的启动过程出现异常,重则可能会导致整个 败刀dows系统的完全瘫痪。因此 正确地认识、使用,特别是及时备份以及有问题恢复注册表对Win dows用户来说就显 得非常重要。所以正确的认识注册表,及时的备份注册表,对于Win dows用户来说显得相当重要。当自己的电脑出现故障面临对 注册表的修 改时,我们经常会运行命令Regedit来实现,但操作 起来是很麻烦的。二、Visual C#与注册表相关的两个类 在Visual C#中的 Microsoft. Win32的名称空间,定义了两个用于注册表操作的类:Registry类、RegistryKey类。Registry类主要封装了七个公有的静态

3、域,而这些静态域分别 代表这注册表 中的七个主键。RegistryKey类中主要封装了对注册表的基本操作。这二个 类都是封闭类,不可以继承。1)Registry类:此类主要封装了七个公有的静态域,而这些静态域分别代表这视窗注册表中的七个基本的主键,具体如下所示:2)RegistryKey类:为了更好的理解应用RegistryKeys类,我们再来认识一下RegistryKeys类,RegistryKeys是注册表中的基 本组织单位,像是Windows资源管理器中的文件夹。特定的项可以有子项(像文件夹可以有子文件夹),并且只要用户具有适当的 删除权限,且此项不是基项或基项的下一级项,可以删除此项。

4、每个项还 可以有多个关联的值(值好像是文件),用于存储您感兴趣的应用程序的信 息。每个值保存一条特定的信息、,在需要时可以检索或更新此信息。若要 获取RegistryKey的实例,可以使用Registry类的静态成员。RegistryKey类中主 要封装了对系统注册表的基本操作。在程序设计中,首 先通过Registry类找到注册表中的基本主键,然后通过RegistryKey类,来找其下 面的子键和处理具体的操作的。RegistryKey类封 装了读取,写入,删除的 基本操作。主要读取方法:OpenSubKey ( string name )方法主要是打开指定的子键。GetSubKeyNames

5、 ()方法是获得主键下面的所有子键的名称,它的返回值是一个字符串数组。GetValueNames ()方法是获得当前子键中的所有的键名称,它的返回值也是一个字符串数 组。GetValue ( string name )方法是指定键的键值。主要写入方法:CreateSubKey ( string name )方法是增加一个子键SetValue (string name, string value )方法是设置一个键的键值主要删除方法:DeleteSubKey ()方法:删除一个指定的子键。DeleteSubKeyTree ()方法:彻底删除指定的子键目录,即删除该子键以及该子键以下的全部子键。三

6、、通过Visual C#读取注册表信息要实现对注册表的操作先要能读取注册表,我们以检索注册表基项HKEY_CURRENT_USE例,来展示Visual C#中非常简单就可以实现对注册表信息的读取。HKEY CURRENT USE储了包括环境变量的设置和有关程序组、颜色、打印机、网络连接和 应用程序首 选项的数据。它使建立当前用户的设置更容易。下面的示例说明如何检索 此项的子项,以及如何将它们的名称输出到屏幕。使用Open SubKey方法创建相关的特定子项的实例。然后可使用中RegistryKey的其他操作操作该项。using System;using Microsoft. Win32;cla

7、ss Reg public static void Main() / 仓 ij 建访问 HKEY CURRENT USE 项RegistryKey rk = Registry. Curre ntUser;/通过方法输出键值PrintKeys(rk);/ 定义输出键值的方法 static void PrintKeys (RegistryKey rkey) /获取键值String 口 names = rkey.GetSubKeyNames();int icount = 0;Console. WriteLine(Subkeys of + rkey. Name);Console. WriteLine(

8、);/ Print the contents of the array to the console.foreach (String s in names) Console. WriteLine(s);/输出键值并记数icount+;if (icount >= 10)break;四、通过Visual C#改写注册表信息在互联网广泛使用的今天,很 多人都碰到过在使用IE浏览器时,打开IE就会自动弹出一些自己讨厌的网站,即便在IE属 性中修改 也没有用,这时就会想到修改注册表。先看一个修改IE的例子。如果我们在打开或者关闭IE窗口时,希望被打开的窗口有动感 效果,那么可以通过设置HKEY_

9、CURRENT_USER Control Panel desktop WindowMetrics 新建串 键,在右边的窗口中值 Minanimat 与"Maxanimat”并设值为0,为1,这样 在IE窗口最大最小化切换时有递变的效果,以下是实 现这一功能的程序:using System;using Microsoft. Win32; /对注册表操作一定要引用这个命名空间namespace ChangelE class ChangelE static void Main(string口 args)RegistryKey pregkey ;“Controlpregk6y=Registry. CurrentUser- OpenSubKey(WindowMetrics ” ,true);if (pregkey=null)Console. WriteLine (键值不存

温馨提示

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

评论

0/150

提交评论