C#读、写、删除注册表
来源:互联网 发布:vb应用程序 传入参数 编辑:程序博客网 时间:2024/06/01 12:25
1.首先,必须导入空间"Microsoft.Win32" 2.利用Registry类,确定注册表的分支(ClassesRoot,CurrentUser,Users,LocalMachine,CurrentConfig)
using Microsoft.Win32;
RegistryKey key = Registry.LocalMachine;
3.创建/打开/删除注册表项
RegistryKey key = Registry.LocalMachine;
//创建
//注意:注册表路径一定是"\\"而不是"\"
RegistryKey software = key.CreateSubKey("software\\MyApp");
//打开(true表示可以写入)
RegistryKey software = key.OpenSubKey("software\\MyApp",true);
RegistryKey Product = software.CreateSubKey("Product");
//删除
key.DeleteSubKey("software\\MyApp",true);
//记得关闭,两个都要关
key.Close();
ProductID.Close();
//创建
//注意:注册表路径一定是"\\"而不是"\"
RegistryKey software = key.CreateSubKey("software\\MyApp");
//打开(true表示可以写入)
RegistryKey software = key.OpenSubKey("software\\MyApp",true);
RegistryKey Product = software.CreateSubKey("Product");
//删除
key.DeleteSubKey("software\\MyApp",true);
//记得关闭,两个都要关
key.Close();
ProductID.Close();
4.创建/打开/删除键值
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("software\\My",true);
//写入
software.SetValue("ProductID", "Leo Tian's blog");
//读取
string info = "";
info = software.GetValue("ProductID").ToString();
//删除
software.DeleteValue("test");
//关闭
software.Close()
RegistryKey software = key.OpenSubKey("software\\My",true);
//写入
software.SetValue("ProductID", "Leo Tian's blog");
//读取
string info = "";
info = software.GetValue("ProductID").ToString();
//删除
software.DeleteValue("test");
//关闭
software.Close()
5.最后贴出两个判断函数
//判断项目是否存在
private bool IsRegeditItemExist(RegistryKey RegBoot, string ItemName)
{
if (ItemName.IndexOf("\\") <= -1)
{
string[] subkeyNames;
subkeyNames = RegBoot.GetValueNames();
foreach (string ikeyName in subkeyNames) //遍历整个数组
{
if (ikeyName == ItemName) //判断子项的名称
{
return true;
}
}
return false;
}
else
{
string[] strkeyNames = ItemName.Split('\\');
RegistryKey _newsubRegKey = RegBoot.OpenSubKey(strkeyNames[0]);
string _newRegKeyName = "";
int i;
for(i=1;i<strkeyNames.Length;i++)
{
_newRegKeyName = _newRegKeyName + strkeyNames[i];
if(i!=strkeyNames.Length-1)
{
_newRegKeyName = _newRegKeyName + "\\";
}
}
return IsRegeditItemExist(_newsubRegKey,_newRegKeyName);
}
}
//判断键值是否存在
private bool IsRegeditKeyExist(RegistryKey RegBoot, string RegKeyName)
{
string[] subkeyNames;
subkeyNames = RegBoot.GetValueNames();
foreach (string keyName in subkeyNames)
{
if (keyName == RegKeyName) //判断键值的名称
{
return true;
}
}
return false;
}
private bool IsRegeditItemExist(RegistryKey RegBoot, string ItemName)
{
if (ItemName.IndexOf("\\") <= -1)
{
string[] subkeyNames;
subkeyNames = RegBoot.GetValueNames();
foreach (string ikeyName in subkeyNames) //遍历整个数组
{
if (ikeyName == ItemName) //判断子项的名称
{
return true;
}
}
return false;
}
else
{
string[] strkeyNames = ItemName.Split('\\');
RegistryKey _newsubRegKey = RegBoot.OpenSubKey(strkeyNames[0]);
string _newRegKeyName = "";
int i;
for(i=1;i<strkeyNames.Length;i++)
{
_newRegKeyName = _newRegKeyName + strkeyNames[i];
if(i!=strkeyNames.Length-1)
{
_newRegKeyName = _newRegKeyName + "\\";
}
}
return IsRegeditItemExist(_newsubRegKey,_newRegKeyName);
}
}
//判断键值是否存在
private bool IsRegeditKeyExist(RegistryKey RegBoot, string RegKeyName)
{
string[] subkeyNames;
subkeyNames = RegBoot.GetValueNames();
foreach (string keyName in subkeyNames)
{
if (keyName == RegKeyName) //判断键值的名称
{
return true;
}
}
return false;
}
阅读全文
0 0
- C#读、写、删除注册表
- C#读、写、删除注册表
- C#读,写,删除注册表
- C#读、写、删除注册表
- C#注册表的读,写,删除,查找
- C#注册表的读,写,删除,查找
- C#注册表的读,写,删除,查找
- php 读、写、删除 注册表
- 使用PowerShell读、写、删除注册表键值
- C#写注册表
- VC++读、写注册表
- 如何用C#写系统注册表
- C#中对注册表的写
- 以下从‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作
- ‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作
- windows 写读注册表 示例
- C# 32位程序与64位程序读/写注册表的区别
- C# 32位程序与64位程序读\写注册表的区别
- ubuntu配置tenslflow
- Java基础部分第二十三节
- bzoj 2216 [Poi2011]Lightning Conductor 决策单调性
- Oracle:PL*Plus编程(四)
- 1108链表
- C#读、写、删除注册表
- xml与json转换工具java版
- javascript中call、apply、bind方法的使用
- OBJ(3D模型)文件格式
- [HNOI2005]狡猾的商人 带权并查集
- Tensorflow进行简单的神经网络的尝试(建造神经网络)
- Navicat for MySQL 连接虚拟机上的MYSQL
- 在写邮箱模板页面兼容手机邮箱客户端时注意几点
- 微秒, 纳秒,毫秒, 时间单位换算[转]