DeleteSubKey UnauthorizedAccessException

我正在尝试编写一个快速应用程序来修改一些注册表项。 当我通过RegEdit浏览时,我可以毫无问题地修改和删除密钥。

但是当我尝试使用RegistryKey.DeleteSubKey()它会抛出一个UnauthorizedAccessException

有没有办法获得这样做的特权? 另外,如果我的用户帐户显然有权进行更改,为什么会出现问题呢?

编辑:

这是一些代码

 RegistryKey reg; try { reg = Registry.CurrentUser.OpenSubKey(BaseKey); reg.DeleteSubKey("{" + Item.Guid.ToString() + "}"); } catch { return false; } 

试试这个,最初打开它作为读/写而不是只读:

 RegistryKey reg; try { reg = Registry.CurrentUser.OpenSubKey(BaseKey, true); //<--over here! reg.DeleteSubKey("{" + Item.Guid.ToString() + "}"); } catch { return false; }