• 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注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断;
  • 相关阅读:
    没有完成的题目
    哈尔滨工程大学 ACM online contest 1008 how many
    POJ 2976 分数规划
    长沙理工 ACM 数位 DP 1488
    POJ 2663
    USETC 1821 AC 自动机
    长沙理工 ACM 分数规划 1494
    正则表达式基础知识(转)
    上传头像代码
    datalist 分页(转)
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/6873338.html
Copyright © 2020-2023  润新知