[英]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.