[英]Change MachineGuid C#
我想知道我的一个项目,是否可以通过注册表或其他任何方式更改MachineGuid? 我已经在多个应用程序中看到它,但我自己做不到。这是我的代码
RegistryKey reg = Registry.LocalMachine;
reg.OpenSubKey("SOFTWARE\\Microsoft\\Cryptography");
reg.DeleteValue("MachineGuid");
reg.Close();
consolebox.AppendText("MachineGuid should be changed!\n");
但是它不起作用..它不会删除MachineGuid值,该值将在大约一秒钟内自动重新生成。
该错误表明它找不到值.. MachineGuid不存在...但是当我去注册时它会吗?
如果我不以管理员身份运行该应用程序,则说该值已删除,但如果我这样做则说它不存在。
您有两个问题,首先,您没有打开可写的密钥,也没有使用OpenSubKey
的结果。 该方法返回您实际打开的密钥。
RegistryKey reg = Registry.LocalMachine;
using(var key = reg.OpenSubKey("SOFTWARE\\Microsoft\\Cryptography", true)) // writeable
{
key.DeleteValue("MachineGuid");
}
RegistryKey
对象实现IDisposable
,在这种情况下最好应用使用模式来关闭并配置密钥。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.