代码之家  ›  专栏  ›  技术社区  ›  Adam Haile

DeleteSubKey UnauthorizedAccessException异常

  •  15
  • Adam Haile  · 技术社区  · 15 年前

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

    但是当我尝试使用 RegistryKey.DeleteSubKey() UnauthorizedAccessException .

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

    这里有一些代码

    RegistryKey reg;
    
    try
    {
        reg = Registry.CurrentUser.OpenSubKey(BaseKey);
        reg.DeleteSubKey("{" + Item.Guid.ToString() + "}");
    }
    catch
    {
        return false;
    }
    
    1 回复  |  直到 11 年前
        1
  •  49
  •   bluish dmajkic    11 年前

    请尝试此操作,首先以读/写而不是只读方式打开:

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