作者: 冉林仓   www.ASPCool.com 时间:2001-11-9

如果你曾经使用过RegOpenKeyEx、RegCreateKeyEx、RegCloseKey等Win32 API函数读写过注册编辑表,你肯定非常熟悉这些复杂的Registry函数。相反,在.NET框架中,Registry和RegistryKey类提供了对Windows注册编辑表的控制,通过这些类你可非常容易地对注册编辑表进行读写。
  
    这些类被定义在Microsoft.Win32命名空间和mscorlib.dll装配中,使用这些类之前,你必须使用using声明这些命名空间。
  
  #using
  using namespace Microsoft::win32;
  
    Registry类只有七个字段成员,使得你能够存取注册编辑表中七个特定的键,这同你在注册编辑表中打开一个键非常类似,这些所有的成员均返回一个指向注册键的指针。
  
  ClassesRoot 对应于HKEY_CLASSES_ROOT
  CurrentConfig 对应于HKEY_CURRENT_CONFIG
  CurrentUser 对应于HKEY_CURRENT_USER
  DynData 对应于HKEY_DYN_DATA
  LocalMachine 对应于HKEY_LOCAL_MACHINE
  PerformanceData 对应于HKEY_PERFORMANCE_DATA
  Users 对应于HKEY_USERS
  
    比如你想读写HKEY_LOCAL_MACHINE的数据,你可以先获得一个指向该键的指针。
  
  RegistryKey* pRegKey = Registry::LocalMachine;
  
    接着调用RegistryKey的OpenSubKey成员函数,然后再调用GetValue即可获得一个特定的字符串。
  
  pRegKey->OpenSubKey(L"SOFTWARE//Kruse Inc//Version");
  Object *pValue = pRegKey->GetValue(L"kWise");
  
    如果你想设置一个键的值,则需要调用它的SetValue函数。
  
  pRegKey->SetValue(L"kWise", "some Value Here");
  
    删除一个值可以使用:
  
  pRegKey->DeleteValue(L"kWise");
  
    其它常用的成员函数还有:
  
  DeleteSubKey 删除一个子键
  CreateSubKey 如果键已经存在就打开该键,否则就创建新键
  DeleteSubKeyTree 删除子键及其节点
  
    下面是程序代码例子(Microsoft Visual c++.net beta2调试通过):
  
  #using
  using namespace System;
  using namespace Microsoft::Win32;
  // 这是应用程序的入口点
  int main(void)
  {
   RegistryKey * pRegKey = Registry::LocalMachine;
   pRegKey = pRegKey->OpenSubKey(L"HARDWARE//DESCRIPTION
         //System//CentralProcessor//0");
   Object *pValue = pRegKey->GetValue(L"VendorIdentifier");
   Console::WriteLine(L"本机的CPU为: {0}.", pValue);
   return 0;
  }

运用.NET读写Windows注册编辑表相关推荐

  1. 使用.reg文件操作注册编辑表

    目录 一.注册表简介 二.进入注册表方式 三.创建注册表程序 四.注册表的结构 五.从一个程序开始 六.基本语法 七.说明 声明: 一.注册表简介 关于名字:注册表,英文名称Registry, 繁体中 ...

  2. 注册表关闭命令提示符_如何从命令提示符下编辑Windows注册表

    注册表关闭命令提示符 Windows and a lot of third-party apps store settings in the registry. If you're wanting t ...

  3. Windows注册表的读写操作

    目录 1 注册表(Registry)介绍 1.1 注册表简介 1.2 注册表位置 1.3 开启/禁用 注册表编辑器 1.4 注册表的结构 1.5 修改注册表实例 2 程序中对注册表的读写操作 2.1 ...

  4. 10#Windows注册表的那些事儿

    引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...

  5. Windows注册表的那些事儿

    引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...

  6. 修改.html 打开方式 注册表,windows 注册表修改资料打开方式

    windows 注册表修改文件打开方式 描述遇到的问题 在打开jsp文件时,右击选择打开方式中选择dreamweaver,但是却是以firefox打开 初步分析应该是jsp也和firefox进行了关联 ...

  7. 关于windows注册表

    Windows 注册表 应该是一个 数据库.里面包含操作系统以及在其上的软件配置信息和旗下的硬件配置信息,有点就是整体和全面,控制面包和gpedit.msc 组策略应该是抽象过后的注册表配置信息,Wi ...

  8. Windows注册表及常见子项

    Windows注册表五大根键以及常用注册表项 注册表概述:注册表是Windows操作系统.硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库",也可以说是一个非常巨大的树 ...

  9. windows注册表_改进Windows的20个最佳注册表技巧

    windows注册表 Hacking the registry allows you to tweak many things in Windows, such as the adding and r ...

最新文章

  1. 如何优雅的设计一个告警系统?远没有你想的那么简单!
  2. 一脸懵逼学习Hadoop中的MapReduce程序中自定义分组的实现
  3. think as a children
  4. Linux SD卡驱动开发(二) —— SD 卡驱动分析HOST篇
  5. 设计模式--6大原则--依赖倒置原则
  6. C++_二维数组_定义方式_数组名称的作用_案例考试成绩统计---C++语言工作笔记021
  7. SAP License:未清项启用
  8. mysql集群异地部署_linux 环境下 部署mysql 集群
  9. Linq 2 DataSet
  10. 云计算时代的DCI技术
  11. 如何用计算机计算幅度,用自然语言的方式做计算:Numi 计算器
  12. cmd 执行html文件,cmd执行bat文件 cmd文件和bat文件有什么区别?
  13. Latex录入参考文献bib.bib文件
  14. 【老生谈算法】matlab在材料力学中的应用
  15. 保护 iOS 用户数据安全: Keychain 和 Touch ID
  16. 如何正确地向领导汇报工作?
  17. 万变不离其宗之ZYNQ串口介绍
  18. 计算机无法以管理员模式运行,电脑为什么没法以管理员身份运行软件
  19. P352作业10-P360复习
  20. Cisco Firepower 2100 Series FTD Software 7.1.0 ASA Software 9.17.1 下载

热门文章

  1. C++:vector容器中使用pair该如何访问成员
  2. Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)
  3. 基于U-Net系列算法的医学图像分割(课程设计)
  4. Hololens开发示例(不断补充)
  5. cv::convertTo
  6. js判断手机浏览器屏幕方向
  7. 在Uubuntu 14.04 64bit上搭建NumPy函数库环境
  8. 使用windows.name解决js跨域数据通信
  9. 在Substance Designer中创建砖墙视频教程
  10. 多线程:pthread_cond_wait 实现原理