C#对注册表的操作
2021-04-30 09:26
阅读:428
标签:分支 包含 方便 http 存在 pre gis using path
一、引入命名空间:
using Microsoft.Win32;
二、创建注册表项:CreateSubKey(name)方法
添加SubKey时候首先要打开一个表项,并设置参数为true,才能成功创建子项
//给要创建的注册表设置一个变量,使用更方便
private string RegistFileName = "test";

////// 创建一个test注册表项,下面包含OpenLog,和SaveLog两个子项 /// 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)方法

////// 将path写入OPenLog子项 /// 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");

六、判断注册表项是否存在:

////// 判断注册表项是否存在 /// ///bool 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; }

七、判断键值是否存在:

////// 判断该路径是否已经存在 /// /// 路径 ///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; }
C#对注册表的操作
标签:分支 包含 方便 http 存在 pre gis using path
原文地址:http://www.cnblogs.com/AlexOneBlogs/p/7808552.html
评论
亲,登录后才可以留言!