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注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断;
  • 相关阅读:
    php面向对象之构造函数和析构函数
    C#语言基础原理及优缺点
    零零散散学算法之具体解释几种最短路径
    Java解惑七:很多其它类之谜
    《Linux设备驱动开发具体解释(第3版)》进展同步更新
    setsockopt的作用
    全排列算法及实现
    【ASP.NET】怎样使用类创建公共函数,在不同ASP.NET页面间反复调用
    Git经常使用命令以及使用方法
    Ansi,UTF8,Unicode,ASCII编码的差别
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/6873338.html
Copyright © 2011-2022 走看看