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; }