zoukankan      html  css  js  c++  java
  • C#操作注册表

    以下从‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作

    工具/原料

     
    • VS2008

    步骤/方法

     
    1. 1.读取指定名称的注册表的值
      private string GetRegistData(string name)
      {
      string registData;
      RegistryKey hkml = Registry.LocalMachine;
      RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
      RegistryKey aimdir = software.OpenSubKey("XXX",true);
      registData = aimdir.GetValue(name).ToString();
      return registData;
      }
      以上是读取的注册表中HKEY_LOCAL_MACHINESOFTWARE目录下的XXX目录中名称为name的注册表值;
    2. 2.向注册表中写数据
      private void WTRegedit(string name,string tovalue)
      {
      RegistryKey hklm = Registry.LocalMachine;
      RegistryKey software = hklm.OpenSubKey("SOFTWARE",true);
      RegistryKey aimdir = software.CreateSubKey("XXX");
      aimdir.SetValue(name,tovalue);
      }
      以上是在注册表中HKEY_LOCAL_MACHINESOFTWARE目录下新建XXX目录并在此目录下创建名称为name值为tovalue的注册表项;
    3. 3.删除注册表中指定的注册表项
      private void DeleteRegist(string name)
      {
      string[] aimnames;
      RegistryKey hkml = Registry.LocalMachine;
      RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
      RegistryKey aimdir = software.OpenSubKey("XXX",true);
      aimnames = aimdir.GetSubKeyNames();
      foreach(string aimKey in aimnames)
      {
      if(aimKey == name)
      aimdir.DeleteSubKeyTree(name);
      }
      }
      以上是在注册表中HKEY_LOCAL_MACHINESOFTWARE目录下XXX目录中删除名称为name注册表项;
    4. 4.判断指定注册表项是否存在
      private bool IsRegeditExit(string name)
      {
      bool _exit = false;
      string[] subkeyNames;
      RegistryKey hkml = Registry.LocalMachine;
      RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
      RegistryKey aimdir = software.OpenSubKey("XXX",true);
      subkeyNames = aimdir.GetSubKeyNames();
      foreach(string keyName in subkeyNames)
      {
      if(keyName == name)
      {
      _exit = true;
      return _exit;
      }
      }
      return _exit;
      }
      END

    注意事项

     
    • 以上是在注册表中HKEY_LOCAL_MACHINESOFTWARE目录下XXX目录中判断名称为name注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断;
  • 相关阅读:
    开源 .net license tool, EasyLicense !
    Logging with NLog
    Logging with Log4net (二)
    Logging with Debug And Trace (一)
    ThoughtWorks代码挑战——FizzBuzzWhizz
    开源插件 :MahApps.Metro.IconPacks
    Java地址:
    小程序源码下载[demo整理自github]
    多块图形合并(自动合并相交块)
    Textbox
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/6873338.html
Copyright © 2011-2022 走看看