2013-08-27 75 views
1

我碰巧使用C#無法刪除註冊表編輯器特定的註冊表使用C#

const string basereg="HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\ram"; 
Registry.SetValue(basereg,"r","s",RegistryValueKind.String); 

寫註冊表編程 - 它創建RAM子項中字串值「R」。添加以下代碼後

我預期代碼刪除名爲「R」內部RAM鍵[上面提到的子項],但我剛開厚望爲「System.NullReferenceException」

string pat = "\\SOFTWARE\\Wow6432Node\\ram"; 
RegistryKey del = null; 
del = Registry.LocalMachine.OpenSubKey(pat, true); 
del.DeleteValue("r"); 

由於

問候, Ram

+0

我不知道OpenSubKey()是否返回null,即使這看起來很奇怪。 – ash

回答

0

Registry.LocalMachine.OpenSubKey()會打開一個鍵,但ram是一個值,而不是一個鍵。

試試這個:

string pat = "\\SOFTWARE\Wow6432Node"; 

註冊表項 '關鍵' 和 '價值' 是不是典型的用法。密鑰的註冊表中有多個名稱各不相同的值。