C#操作注册表——读、写、删除、判断等基本操作 (转)
2017-11-29 18:23
501 查看
一、引入命名空间:
二、创建注册表项:CreateSubKey(name)方法
添加SubKey时候首先要打开一个表项,并设置参数为true,才能成功创建子项
三、删除注册表项:DeleteSubKey(name,true)方法
四、添加键值:SetValue(name,value)方法
五、删除键值:DeleteValue(name)方法
六、判断注册表项是否存在:
七、判断键值是否存在:
注:如果没有该注册表项或键值,则返回的值为空值,若不经处理运行程序会抛出异常。
using Microsoft.Win32;
二、创建注册表项:CreateSubKey(name)方法
添加SubKey时候首先要打开一个表项,并设置参数为true,才能成功创建子项
//给要创建的注册表设置一个变量,使用更方便 private string RegistFileName = "test";
/// <summary> /// 创建一个test注册表项,下面包含OpenLog,和SaveLog两个子项 /// </summary> private void CreateRegistFile() { //SOFTWARE在LocalMachine分支下 RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE",true); RegistryKey software = key.CreateSubKey(RegistFileName); RegistryKey test = key.OpenSubKey(RegistFileName,true); RegistryKey Savekey = test.CreateSubKey("SaveLog"); }
三、删除注册表项:DeleteSubKey(name,true)方法
RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE", true); RegistryKey test = software.OpenSubKey(RegistFileName, true); test.DeleteSubKey("SaveLog",true);
四、添加键值:SetValue(name,value)方法
/// <summary> /// 将path写入OPenLog子项 /// </summary> private void writeToRegistFile(string path) { RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE", true); RegistryKey test = software.OpenSubKey(RegistFileName, true); RegistryKey OpenPath = test.OpenSubKey("OpenLog",true); //"name"是该键值的name,相当于一个别名,可自行设置 OpenPath.SetValue("name", path); }
五、删除键值:DeleteValue(name)方法
RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE", true); RegistryKey test = software.OpenSubKey(RegistFileName, true); RegistryKey OpenPath = test.OpenSubKey("SaveLog",true); //删除SaveLog子项下的名为SaveLog的子键 OpenPath.DeleteValue("name");
六、判断注册表项是否存在:
/// <summary> /// 判断注册表项是否存在 /// </summary> /// <returns>bool</returns> private bool IsRegeditItemExist() { string[] subkeyNames; RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE"); subkeyNames = software.GetSubKeyNames(); //在这里我是判断test表项是否存在 foreach (string keyName in subkeyNames) { if (keyName == RegistFileName) { key.Close(); return true; } } key.Close(); return false; }
七、判断键值是否存在:
/// <summary> /// 判断该路径是否已经存在 /// </summary> /// <param name="path">路径</param> /// <returns></returns> private bool IsRegeditKeyExit(string name) {string[] saveSubkeyNames; RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE", true); RegistryKey test = software.OpenSubKey(RegistFileName, true); RegistryKey Savekey = test.OpenSubKey("SaveLog", true); //获取该子项下的所有键值的名称saveSubkeyNames saveSubkeyNames = Savekey.GetSubKeyNames(); foreach(string keyName in openSubkeyNames) { if(keyName == name) { key.Close(); return false; } } key.Close(); return true; }
注:如果没有该注册表项或键值,则返回的值为空值,若不经处理运行程序会抛出异常。
相关文章推荐
- [No000005]C#注册表操作,创建,删除,修改,判断节点是否存在
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- 【转】c# 注册表操作,创建,删除,修改,判断节点是否存在
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C#操作Xml全集示例篇,基本实现添加,删除,更新等操作
- C#.NET对注册表的常用操作(增加项,判断指定项是否存在,增加键(键的名称,键的数值),判断指定的键是否存在)
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C#操作注册表实现添加/删除可信站点
- ‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作
- C#.NET对注册表的常用操作(增加项,判断指定项是否存在,增加键(键的名称,键的数值),判断指定的键是否存在)
- 以下从‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据