首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

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


  如果你曾经使用过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;
  }
【责编:admin】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·算法分析与设计之五大常用算法
 ·开发必备 漫谈Java加密保护
 ·嵌入式开发--ARM技术专题
 ·C/C++指针,认真了解,灵活运用
 ·.NET开发:C#实用基础教程
 ·软件测试工具QTP学习专题
 ·嵌入式开发单片机解决方案专题
 ·Java开发环境 Greenfoot 程序员手册
 ·C++对象布局及多态实现的探索
 ·常见排序算法的实现
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航