`
leonardleonard
  • 浏览: 779083 次
社区版块
存档分类
最新评论

运用.NET读写Windows注册编辑表

阅读更多

作者: 冉林仓   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;
  }

分享到:
评论

相关推荐

    asp.net知识库

    asp.net 2.0下嵌套masterpage页的可视化编辑 C# 2.0与泛型 动态调用对象的属性和方法——性能和灵活性兼备的方法 泛型技巧系列:用泛型打造可复用的抽象工厂 泛型技巧系列:如何提供类型参数之间的转换 .NET 2.0 ...

    C#.net_经典编程例子400个

    130 实例095 使用ErrorProvider组件验证文本框输入 130 实例096 利用ErrorProvider组件查看数据集中的错误 132 3.3 EventLog组件 134 实例097 使用EventLog组件读写Windows系统事件日志 134 ...

    Visual C++2010开发权威指南(共三部分).part1.rar

    9.1.1 设备描述表 411 9.1.2 绘图属性 412 9.1.3 元文件和路径 412 9.1.4 颜色和调色板 412 9.1.5 图形设备接口函数 413 9.2 Windows屏幕绘图简介 414 9.2.1 窗口客户区 414 9.2.2 映射模式 414 9.2.3 图形刷新 416 ...

    Ruby on Rails Web开发之旅.pdf【第二部分】

     2.7.1 Windows文本编辑器  2.7.2 Mas OS X文本编辑器  2.7.3 Linuxt和交叉平台编辑器  2.8 小结 第3章 Ruby简介  3.1 Ruby是脚本语言  3.1.1 编译语言  3.1.2 脚本语言  3.1.3 较大的性能争议  ...

    Ruby on Rails Web开发之旅.pdf【第一部分】

     2.7.1 Windows文本编辑器  2.7.2 Mas OS X文本编辑器  2.7.3 Linuxt和交叉平台编辑器  2.8 小结 第3章 Ruby简介  3.1 Ruby是脚本语言  3.1.1 编译语言  3.1.2 脚本语言  3.1.3 较大的性能争议  ...

    Ruby on Rails Web开发之旅.pdf【第三部分】

     2.7.1 Windows文本编辑器  2.7.2 Mas OS X文本编辑器  2.7.3 Linuxt和交叉平台编辑器  2.8 小结 第3章 Ruby简介  3.1 Ruby是脚本语言  3.1.1 编译语言  3.1.2 脚本语言  3.1.3 较大的性能争议  ...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    包括:注册用户组(等级)管理、系统用户组管理、Vip用户组管理、编辑注册默认组 、编辑VIP默认组、群组等级组管理。 (1)、注册用户组(等级),是会根据用户属性自动升级的组!当用户的日记、相册、金币数达到...

    彩虹UDA软件狗工具带硬复制工具

    在原有加密方式基础上,新增 C 语言高强度动态库加密方式,并有效运用动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性。 支持 ActiveX 控件 开发商可以在网页中或 VB 、 VC 中使用 ActiveX 控件对...

    C#程序开发范例宝典(第2版).part13

    实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向本机现有日志中添加条目 155 3.4 FileSystemWatcher组件 156 实例108 使用...

    C#程序开发范例宝典(第2版).part08

    实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向本机现有日志中添加条目 155 3.4 FileSystemWatcher组件 156 实例108 使用...

    C#程序开发范例宝典(第2版).part02

    实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向本机现有日志中添加条目 155 3.4 FileSystemWatcher组件 156 实例108 使用...

    C#程序开发范例宝典(第2版).part12

    实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向本机现有日志中添加条目 155 3.4 FileSystemWatcher组件 156 实例108 使用...

Global site tag (gtag.js) - Google Analytics