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

2016-01-29 19:33 9 1 收藏

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

【 tulaoshi.com - ASP 】

       如果你曾经使用过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"SOFTWAREKruse IncVersion");
  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"HARDWAREDESCRIPTION
         SystemCentralProcessor");
   Object *pValue = pRegKey->GetValue(L"VendorIdentifier");
   Console::WriteLine(L"本机的CPU为: {0}.", pValue);
   return 0;
  }
  
  

 

来源:https://www.tulaoshi.com/n/20160129/1509656.html

延伸阅读
标签: windows 操作系统
注册表相当于电脑的神经系统,可以说电脑的一切都是用注册表来进行修改的。如果你熟练地掌握注册表,那么进行优化就非常容易,即使现在的那些所谓的优化软件大多数都是通过修改注册表来完成优化的。由于注册内容非常丰富,在本文中笔者就举几个对系统速度比较有影响的方面进行介绍。 一、一次点击即可关机 适用:Windows 98 ...
JDK1.4引入了Preferences类, 用于设置用户的首选项,对于Windows平台就是操作注册表了, 下面的程序就可以往注册表里写几个值,运行完毕后, 打开regedit, 搜寻一下, 看看注册表里是不是有了变化了。 (下面注释掉的那段代码给恢复, 就能把写入的注册键值删除, 很方便啊) 至于读注册表项, 比写还方便, 查JDK API文档吧.. // PrefsDemo.java ...
标签: Web开发
在.Net 1.x当中,使用Microsoft.Win32.RegistryKey类的GetValue方法读取注册表数据时,其实数据都是经过“处理”的; 例如,某个字符串数据本来的值是 %SystemRoot%System32IoLogMsg.dll 但是用GetValue方法得到的数据却是 C:WINDOWSSystem32IoLogMsg.dll 也就是说,在读取注册表中的字符串时,系统会自作主张地替你...
Windows10如何备份注册表 打开注册表 快速打开电脑运行对话框,键盘上的“微软图标【在左下角】和R键”同时按下;这样,我们就打开了“运行”对话框,然后输入注册表编辑器命令“regedit”确定。 导出 注册表编辑器窗口中,选择文件菜单中的导出,对注册表备份。 保存 起一个文件名对当前的电...
标签: windows 操作系统
Windows XP的注册表非常庞大,它收集了与软硬件有关的配置和状态信息,以及和用户相关的各种设置。为了防止注册表损坏,我们需要经常备份注册表。大家都知道Windows 98注册表是可以手工备份的,其实Windows XP的注册表也可以手工备份。 在Windows XP中,系统配置文件保存在“System32”下面的“Config”目录中,主要包括Sam、System、Software...

经验教程

638

收藏

99
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部