【1】注册表是什么?
         百度百科 https://baike.baidu.com/item/%E6%B3%A8%E5%86%8C%E8%A1%A8/101856?fr=aladdin

【2】怎么打开注册表?
         Windows+R >>>>>> regedit

【3】C# 源码 

       

 /// <summary>
/// 注册表 CURD
/// 在LocalMachine 目录文件下
/// </summary>
public class RegeditUtils
{
/// <summary>
/// 注册信息节点是否存在
/// </summary>
/// <param name="key">"SOFTWARE\\Microsoft"格式</param>
/// <returns></returns>
public static bool IsExsits(string key)
{
var indicator = true;
if (Registry.LocalMachine.OpenSubKey(key) == null)
{
indicator = false;
}
return indicator;
}
/// <summary>
/// 创建注册信息
/// </summary>
/// <param name="key">"SOFTWARE\\Microsoft"格式</param>
public static void Create(string key)
{
Registry.LocalMachine.CreateSubKey(key);
}
/// <summary>
/// 更新注册表字段值
/// </summary>
/// <param name="rsg">传入注册表节点</param>
/// <param name="name">节点内字段名称</param>
/// <param name="value">需要设置的值</param>
public static void Update(RegistryKey rsg,string name,string value)
{
if (rsg!=null)
{
if (!string.IsNullOrEmpty(name))
{
rsg.SetValue(name, value); //写入
}
rsg.Close(); //关闭
}
}
/// <summary>
/// 获取注册表节点实体
/// </summary>
/// <param name="key">"SOFTWARE\\Microsoft"格式</param>
/// <returns></returns>
public static RegistryKey Read(string key)
{
RegistryKey rsg = Registry.LocalMachine.OpenSubKey(key, true);
return rsg;
} /// <summary>
/// 获取注册表节点实体内某个属性的值
/// </summary>
/// <param name="key">"SOFTWARE\\Microsoft"格式</param>
/// <param name="prop">传入属性的键值</param>
/// <returns></returns>
public static string ReadPropValue(string key,string prop)
{
var res = "";
RegistryKey rsg = Registry.LocalMachine.OpenSubKey(key, true);
if (rsg!=null)
{
var obj = rsg.GetValue(prop);
if (obj!=null)
{
res = obj.ToString();
}
}
return res;
}
/// <summary>
/// 删除注册表节点
///
/// </summary>
/// <param name="key">"SOFTWARE\\Microsoft"格式</param>
public static void Delete(string key)
{
if (IsExsits(key))
{
Registry.LocalMachine.DeleteSubKey(key);
}
} /// <summary>
/// 创建注册表节点,并对相应字段赋值
/// </summary>
/// <param name="key">节点</param>
/// <param name="name">属性名称</param>
/// <param name="value">值</param>
public static void CreateRegedit(string key, string name, string value)
{
try
{ //判断当前节点是否存在
if (!IsExsits(key))
{
//不存在该节点,创建节点
Create(key);
}
//获取该节点
var rsg = Read(key);
//该节点字段属性赋值
Update(rsg, name, value);
}
catch (Exception ex)
{
Log.Error(ex);
} }
}

此博文为原创,转载请注明出处!!!!!

C#实现注册表 LocalMachine 目录下CURD工具类的更多相关文章

  1. hdwiki model目录下的函数类

    model目录下的函数类    actions.class.php(站内地图相关) getHTML:获得页面菜单和相关信息 getMap:生成站内地图 adv.class.php 对wiki_adve ...

  2. 【Unity3D】Unity3D之 注册表动态存取游戏存档——PlayerPrefs类

    [Unity3D]Unity3D之 注册表动态存取游戏存档--PlayerPrefs类 1.Unity3D提供了一个用于本地持久化保存与读取的类--PlayerPrefs.工作原理非常简单,以键值对的 ...

  3. python- 动态加载目录下所有的类

    # 背景 自动化测试框架中model层下有很多类,用来操作mysql的,使用的时候需要把全部的类加载进来,需要使用到动态加载类 # 解决方法 使用pkgutil,内置的方法,常用的话有两个方法 ite ...

  4. jdk1.6中bin目录下的工具及其作用

    jdk的javaw.javac等的介绍java:在msdos终端窗口中执行.class文件,即解释执行.class文件.通常所说的jvm解释权.javaw:在java自己的窗口中执行.class文件而 ...

  5. java中jre\bin目录和jdk\bin目录下的工具功能介绍

    转自:https://blog.csdn.net/eclipse_yin/article/details/51051096 jre/bin目录下面工具说明 javac:Java编译器,将Java源代码 ...

  6. BASH如何获得某个目录下的某类文件的文件名

    假设某个目录下有一堆以jpeg为后缀的文件名,我们需要在另一个目录中获得他们的文件名,并输出. 可以联合使用ls,awk,sed等命令来完成. 方法一: 使用ls列出目录下以.jpeg为结尾的文件,然 ...

  7. JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉

    appletviewer.exe(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器 apt.exe:SolarisTM 操作系统和 Linux上用于处理注释的工具 extche ...

  8. Android SDK中 tools 目录下的工具介绍

    Android SDK包含了各种各样的定制工具,简介如下: Android模拟器(Android Emulator )它是在你的计算机上运行的一个虚拟移动设备.你可以使用模拟器来在一个实际的Andro ...

  9. 文件/目录部分处理工具类 DealDir.java

    package com.util; import java.io.File; import java.util.StringTokenizer; /** * 文件/目录 部分处理 * @createT ...

随机推荐

  1. selenium+python+eclipse 实现 “问卷星”网站,登录与检查登录示例!

    1.使用selenium+python+eclipse实现的登录"问卷星",问卷星访问地址:https://www.sojump.com/ 2.实现步骤:1)进入链接---首页-- ...

  2. MFC多语言程序版本,在不同的windows系统上的使用

    如何使MFC程序界面支持多国语言?这次使用后给自己做一个总结. 我们使用vc6.0的版本来试验 1. 切换到资源视图,右键Dialog->Insert Copy 2. ok后,会出来一个语言的选 ...

  3. Linux、docker、kubernetes、MySql、Shell、kafka、RabbitMQ运维快餐

    检查端口占用 lsof -i:[port] netstat -anp |grep [port] 监控网络客户TCP连接数 netstat -anp | grep tcp |wc -l 获取某进程中运行 ...

  4. [AST实战]从零开始写一个wepy转VUE的工具

    为什么需要 wepy 转 VUE "转转二手"是我司用 wepy 开发的功能与 APP 相似度非常高的小程序,实现了大量的功能性页面,而新业务 H5 项目在开发过程中有时也经常需要 ...

  5. elasticsearch6.6.2在Centos6.9的安装

    JDK8 做个记录,以防以后忘记能够查看. 1.elastic是java编写的,先搭建运行环境,6.6.2版本必须要jdk8以上版本才可运行,先官网下载jdk,上传服务器 https://www.or ...

  6. 跟踪测试 DbContext ,向"不是真正的 ORM" 说拜拜

    FreeSql 发展到现在,已经有两种稳定的开发模式,以下先简单带过一下.后面才是本文的主题. 方法一:基于 helper 的方式,祼用: dotnet add package FreeSql 提供 ...

  7. Android:JNI与NDK(一)

    友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本篇目录 以下举例代码均来自:NDK示例代码 一.前言 安卓开发中很多场景需要用到NDK来开发,比如,音视频的渲染,图像的底 ...

  8. selinux学习

    一.基本概念 1.TE模型的安全上下文 所有的操作系统访问控制都基于主体.客体,以及与他们相关的访问控制属性. 在selinux中,访问控制属性叫做安全上下文.所有对象(文件.进程间通信通道.套接字. ...

  9. asp.net core 系列之webapi集成EFCore的简单操作教程

    因为官网asp.net core webapi教程部分,给出的是使用内存中的数据即 UseInMemoryDatabase 的方式, 这里记录一下,使用SQL Server数据库的方式即 UseSql ...

  10. C# 插入超链接到PDF文档(3种情况)

    超链接可以实现不同元素之间的连接,用户可以通过点击被链接的元素来激活这些链接.具有高效.快捷.准确的特点.本文中,将分享通过C#编程在PDF文档中插入超链接的方法.内容包含以下要点: 插入网页链接 插 ...