我想在注册表中删除一个xml文件,然后恢复它。可能吗?
我尝试使用此代码创建但它没有响应?!什么是问题?
enter code here
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
List<int> f = new List<int>();
f.Add(4);
formatter.Serialize(stream, f);
byte[] binary = stream.ToArray();
string yu = Encoding.UTF8.GetString(binary);
RegistryKey key = Registry.Users;
RegistryKey key2 = key.OpenSubKey(".DEFAULT", true);
key2.SetValue("my4",yu,RegistryValueKind.String ); // "why writed empty string in registry
}
}
答案 0 :(得分:0)
对此有几点评论:
1:注册表不是保存整个XML文件的正确位置。更常见的可能是将xml保存到文件系统,并可能将其位置保存在注册表中。
2:Registry.Users指的是注册表中通常不会保存数据的位置。它应该在HKey_Current_User(Registry.CurrentUser)或HKey_Local_Machine(Registry.LocalMachine)中,具体取决于数据是特定于PC上的所有用户还是仅针对当前用户。
3:我对前两个问题中的编码试图实现的内容感到非常困惑。制作字符串还有很长的路要走,内容可能与注册表不兼容,我可以看到与XML相关的任何内容。
我会强烈警告说,在不知道你正在做什么的情况下更新注册表是非常危险的。它很容易导致奇怪的错误甚至是非启动的PC。只有在您完全了解其工作原理后,才能继续尝试注册表更新。我会从像this之类的文章开始,然后从那里继续阅读。