文章目录
Windows系统注册表
注册表的相关信息介绍:
Microsoft Windows Registry
C#操作
增删改查注册表,注册表是由分层数据库组成的,每一个表项是以键值对的形式存储。
#region 注册表操作
private string RegistFileName = "xUdp_Client";
private void CreateRegistFile()
{
RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE", true);
RegistryKey software = key.CreateSubKey(RegistFileName);
RegistryKey test=key.OpenSubKey(RegistFileName, true);
RegistryKey SaveKey = test.CreateSubKey("SaveLog");
}
private void DeleteRegistFile()
{
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("SOFTWARE", true);
software.DeleteSubKey(RegistFileName, true);
//RegistryKey test = software.OpenSubKey(RegistFileName, true);
//test.DeleteSubKey("SaveLog", true);
}
private bool IsRegeditItemExist()
{
string[] subkeyNames;
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("SOFTWARE");
subkeyNames = software.GetSubKeyNames();
//这里判断表项是否存在
foreach (string keyName in subkeyNames)
{
if (keyName == RegistFileName)
{
key.Close();
return true;
}
}
key.Close();
return false;
}
private void SetValueToRegistFile(string path)
{
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("SOFTWARE", true);
RegistryKey test = software.OpenSubKey(RegistFileName, true);
RegistryKey SaveKey = test.OpenSubKey("SaveLog", true);
//"name"是该键值的name,相当于一个别名,可自行设置
SaveKey.SetValue("path", path);
}
private string GetValueFromRegistFile()
{
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("SOFTWARE", true);
RegistryKey test = software.OpenSubKey(RegistFileName, true);
RegistryKey SaveKey = test.OpenSubKey("SaveLog", true);
return SaveKey.GetValue("path").ToString();
}
private void DeleteValueFromRegistFile()
{
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("SOFTWARE", true);
RegistryKey test = software.OpenSubKey(RegistFileName, true);
test.DeleteSubKey("SaveLog", true);
}
#endregion