利用C_操作注册表

利用C_操作注册表

ID:38118528

大小:175.64 KB

页数:4页

时间:2019-05-25

利用C_操作注册表_第1页
利用C_操作注册表_第2页
利用C_操作注册表_第3页
利用C_操作注册表_第4页
资源描述:

《利用C_操作注册表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用C#操作注册表注册表项是注册表中的基本组织单位,好比是Windows资源管理器中的文件夹。每个具体的注册表项都可以有子项,就像文件夹下可以有子文件夹一样。只要用户具有相应的权限,且注册表项不是基项或基项的下一级项,就可以删除该注册表项。每个注册表项也可带有与其相关联的多个值(一个值就好比是一个文件),它们用于存储信息,例如,有关计算机上安装的应用程序的信息。每个值存储特定的信息,可按需要对其进行检索或更新。例如XXX可以为你的软件创建一个RegistryKey(在项HKEY_LOCAL_MACHINESoftware下),然后为您的公司创建的每个应用程序

2、创建一个子项。每个子项保存特定于该应用程序的信息,如颜色设置、屏幕位置和大小或者可识别的文件扩展名等。注意,存储在注册表中的信息可被其他应用程序和用户访问和修改,因此不要用注册表存储安全、敏感的数据或关键的应用程序信息。对于注册表的操作,主要包括注册表项的创建,打开与删除,键值的创建(修改),读取和删除,以及判断注册表项、键值是否存在。首先需要引入的命名空间是:usingMicrosoft.Win32;该命名空间下的类RegistryKey表示Windows注册表中的项级节点,此类是注册表封装。用于定位到注册表最开头的分支,另外一个类是Registry,提供表

3、示Windows注册表中的根项的RegistryKey对象,并提供访问项/值对的static方法。Registry公共字段对应注册表基项分支说明ClassesRootHKEY_CLASSES_ROOT定义文档的类型(或类)以及与那些类型关联的属性。CurrentUserHKEY_CURRENT_USER包含有关当前用户首选项的信息LocalMachineHKEY_LOCAL_MACHINE包含本地计算机的配置数据UsersHKEY_USERS包含有关默认用户配置的信息CurrentConfigHKEY_CURRENT_CONFIG包含有关非用户特定的硬件的配置

4、信息DynDataHKEY_DYN_DATA包含动态注册表数据PerformanceDataHKEY_PERFORMANCE_DATA包含软件组件的性能信息一、项的创建、打开和删除1.创建项例如在HKEY_LOCAL_MACHINE基项下的SOFTWARE项下创建一个新的项YourSoftware,可以采用如下代码:RegistryKeylm=Registry.LocalMachine;//对应HKEY_LOCAL_MACHINE基项分支RegistryKeysoftware=lm.OpenSubKey("SOFTWARE",true);//打开Softwar

5、e项RegistryKeyproduct=software.CreateSubKey("YourSoftware");关于OpenSubKey的第二个参数将在打开项中做详细介绍2.打开项其实在创建项的时候已经使用过了打开项的代码:RegistryKeylm=Registry.LocalMachine;//对应HKEY_LOCAL_MACHINE基项分支RegistryKeysoftware=lm.OpenSubKey("SOFTWARE",true);//打开Software项lm.Close();注意OpenSubKey的第二个参数表示writable,即是

6、否可写入,如果需要创建或者删除就应该使用true,一般读取用false。另外,如果请求的项不存在,则返回空引用,而不是引发异常。最后,关闭项就是Close()方法。这可以用下面的代码测试:RegistryKeylm=Registry.LocalMachine;RegistryKeys;try{s=lm.OpenSubKey("asdfaf",true);//试图打开不存在的项asdfafif(s==null)Console.WriteLine("returnvalueisnull!");}catch(Exception){Console.WriteLine("

7、Icatchanexception!");}运行的结果是没有捕捉到任何异常,而s确实为null。3.删除项必须具有适当权限才能删除子项及其目录树。RegistryKeylm=Registry.LocalMachine;//对应HKEY_LOCAL_MACHINE基项分支RegistryKeysoftware=lm.OpenSubKey("SOFTWARE",true);//打开Software项try{software.DeleteSubKeyTree("YourSoftware");//将移除目录树中该项下的所有项和键}catch(Exception){Co

8、nsole.WriteLine("De

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。