问题描述:
        在HKEY_LOCAL_MACHINE,L"Software\\pan\\"+key1+L"\\"+key2   下建立了一系列的键key1,然后又在该键下建立了子键key2.key1和key2是两个CString类型的变量.
        现在能删除子键,当该父键没有子键我想删除这个父键.然后却出现了错误.(能删key2 ,不能删key1)
   LOGN ret=RegDeleteKey();返回的结果等于5.查了错误描述:拒绝访问!
   最后一狠心.从\\pan\\这个键值去删,结果把\\pan\\下所有的子键都删除了.
请问各位大哥这是什么原因呢?

解决方案 »

  1.   

    查看你的键值的permission,如果你当初创建的时候不是设置的ALL_ACCESS,创建的key的permission是special priviledge,删除的时候会access deny..
      

  2.   

    我就是用的 KEY_ALL_ACCESS  
      

  3.   

    那你检查你创建的section 右键-》permission中,权限是否正确,可以对比其他系统创建的section,看他们权限是否一致...
      

  4.   

    注册表键可以有安全属性,规定哪些用户具有哪些访问权限,不过既然你可以用KEY_ALL_ACCESS打开这个键,就可以说明不是权限的问题。你现在还可以做出这个环境吗?
      

  5.   

    不一定,注册表权限不对的情况,读取可以没有问题,但是删除会access deny...
      

  6.   

    是的   我的就是读取没问题  但是删除有问题
    我的是在WinCE系统下,我这个注册表编辑器里面无法看到权限
      

  7.   

    回在相互,WinCE不支持SHDeleteKey.我用RegNodKey()递归删除的.不存在这个问题
    回oyljerry   手动能删除子键  不能删除父键
    回cnzdgs     刚全是在编辑器上做的 
      

  8.   

    子键删完,close-->再重新open-->再删除父键