簡體   English   中英

更改MachineGuid C#

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM