DeleteSubKey UnauthorizedAccessException

Ada*_*ile 17 .net c# registry

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

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

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

编辑:

这是一些代码

RegistryKey reg;

try
{
    reg = Registry.CurrentUser.OpenSubKey(BaseKey);
    reg.DeleteSubKey("{" + Item.Guid.ToString() + "}");
}
catch
{
    return false;
}
Run Code Online (Sandbox Code Playgroud)

cur*_*isk 46

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

RegistryKey reg;

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

  • *大量砸到额头* - 谢谢! (4认同)