C#实现注册表 LocalMachine 目录下CURD工具类
【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工具类的更多相关文章
- hdwiki model目录下的函数类
model目录下的函数类 actions.class.php(站内地图相关) getHTML:获得页面菜单和相关信息 getMap:生成站内地图 adv.class.php 对wiki_adve ...
- 【Unity3D】Unity3D之 注册表动态存取游戏存档——PlayerPrefs类
[Unity3D]Unity3D之 注册表动态存取游戏存档--PlayerPrefs类 1.Unity3D提供了一个用于本地持久化保存与读取的类--PlayerPrefs.工作原理非常简单,以键值对的 ...
- python- 动态加载目录下所有的类
# 背景 自动化测试框架中model层下有很多类,用来操作mysql的,使用的时候需要把全部的类加载进来,需要使用到动态加载类 # 解决方法 使用pkgutil,内置的方法,常用的话有两个方法 ite ...
- jdk1.6中bin目录下的工具及其作用
jdk的javaw.javac等的介绍java:在msdos终端窗口中执行.class文件,即解释执行.class文件.通常所说的jvm解释权.javaw:在java自己的窗口中执行.class文件而 ...
- java中jre\bin目录和jdk\bin目录下的工具功能介绍
转自:https://blog.csdn.net/eclipse_yin/article/details/51051096 jre/bin目录下面工具说明 javac:Java编译器,将Java源代码 ...
- BASH如何获得某个目录下的某类文件的文件名
假设某个目录下有一堆以jpeg为后缀的文件名,我们需要在另一个目录中获得他们的文件名,并输出. 可以联合使用ls,awk,sed等命令来完成. 方法一: 使用ls列出目录下以.jpeg为结尾的文件,然 ...
- JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉
appletviewer.exe(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器 apt.exe:SolarisTM 操作系统和 Linux上用于处理注释的工具 extche ...
- Android SDK中 tools 目录下的工具介绍
Android SDK包含了各种各样的定制工具,简介如下: Android模拟器(Android Emulator )它是在你的计算机上运行的一个虚拟移动设备.你可以使用模拟器来在一个实际的Andro ...
- 文件/目录部分处理工具类 DealDir.java
package com.util; import java.io.File; import java.util.StringTokenizer; /** * 文件/目录 部分处理 * @createT ...
随机推荐
- selenium IDE 使用方法整理
1.设置起始点(确定case从哪步开始执行),快捷键:S,效果图如下: 2.设置断点(case执行到添加断点处,将自动停止),快捷键:B,效果图如下: 3.设置判断点 如:百度输入ceshi,点 ...
- java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava
搭建spring cloud的时候,报以下错误: java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplica ...
- java自动化-数据驱动juint演示,上篇
本文旨在帮助读者介绍,一般的全自动化代码接口,并简单介绍如何使用数据驱动来实现简单的自动化 在经过上述几个博客介绍后,相信读者对自动启动执行一个java编译过的class有了一定了解,也完全有能力去执 ...
- python输出彩色字体
Python终端如何输出彩色字体 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ES ...
- Python爬虫入门教程 56-100 python爬虫高级技术之验证码篇2-开放平台OCR技术
今日的验证码之旅 今天你要学习的验证码采用通过第三方AI平台开放的OCR接口实现,OCR文字识别技术目前已经比较成熟了,而且第三方比较多,今天采用的是百度的. 注册百度AI平台 官方网址:http:/ ...
- React 虚拟 DOM 的差异检测机制
React 使用虚拟 DOM 将计算好之后的更新发送到真实的 DOM 树上,减少了频繁操作真实 DOM 的时间消耗,但将成本转移到了 JavaScript 中,因为要计算新旧 DOM 树的差异嘛.所以 ...
- windows代码,传入文件名,遍历此目录下所有文件.
#include <windows.h> #include <vector> using namespace std; BOOL IterAtorFileSaveFile(IN ...
- 学习ELk之----02. Elastic Search操作入门
我们将使用Postman来进行日志写入操作.Postman的下载地址,你可以Google一下. 1. 在上一节中,我们启动完成ELK的Docker后,可以在浏览器中打开:http://192.168. ...
- SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试
1. 背景 SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP.如果我们有采用中间件,则可以在配置中,直接用 ...
- 阿里java编码规范考试总结
前几天,考了阿里编码规范刚好80险过,总结出以下例题,答案有错,欢迎评论 1.关于方法的返回值是否可以为null,下列说法正确的是(BCD) A.方法的返回值可以为null,如果是集合,必须返回空集合 ...