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




  如果你曾经使用过RegOpenKeyEx、RegCreateKeyEx、RegCloseKey等Win32 API读写过注册编辑表你肯定非常熟悉这些复杂Registry相反在.NET框架中Registry和RegistryKey类提供了对Windows注册编辑表控制通过这些类你可非常容易地对注册编辑表进行读写
  
  这些类被定义在Microsoft.Win32命名空间和mscorlib.dll装配中使用这些类的前你必须使用using声明这些命名空间
  
  #using
  using Microsoft::win32;
  
  Registry类只有 7个字段成员使得你能够存取注册编辑表中 7个特定这同你在注册编辑表中打开个键非常类似这些所有成员均返回个指向注册键指针
  
  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;
  
  接着RegistryKeyOpenSubKey成员然后再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 ;
  using Microsoft::Win32;
  // 这是应用入口点
   (void)
  {
  RegistryKey * pRegKey = Registry::LocalMachine;
  pRegKey = pRegKey->OpenSubKey(L"HARDWARE\\DESCRIPTION
  \\\\CentralProcessor\\0");
  Object *pValue = pRegKey->GetValue(L"VendorIdentier");
  Console::WriteLine(L"本机CPU为: {0}.", pValue);
   0;
  }
Tags: 

延伸阅读

最新评论

发表评论