本帖最后由 novirus123 于 2010-04-25 10:03:42 编辑

解决方案 »

  1.   

    报哪个值存在?
    首先MyReg.OpenKey('\SOFTWARE\',FALSE)肯定成立,因为SOFTWARE键值肯定存在
    再有对于SOFTWARE\升级器键值,也肯定存在,因为你之前有一句MyReg.CreateKey('升级器');
    最后我经过测试,没有出现你那样的情况,提示‘已经存在’
      

  2.   


    我在“升级器”子键下建立了2个键值'安装路径'和'版本',如果我用regedit手动删除这2个键值,再运行程序会报我刚才已经删除的键值还存在,无法重新建立这2个键值。问题在这里。
      

  3.   

    你这段代码实在SOFTWARE下建立了2个键值'安装路径'和'版本',不是在升级器下,你自己仔细到注册表中看看
      

  4.   


        我的代码肯定是在HKEY_LOCAL_MACHINE\SOFTWARE\下建立了“升级器”子键,同时在下面建立了2个键值'安装路径'和'版本',以上代码都运行成功的。
        
        只不过我在注册表中把'安装路径'和'版本'2个键值手动删除后,再运行程序就会认为我刚才已经删除的键值还存在,无法重新建立这2个键值。
      

  5.   

    你好好看看把,你的代码我都试过了,你这段代码实在SOFTWARE下建立了2个键值'安装路径'和'版本',不是在升级器下
      

  6.   

    我删掉SOFTWARE下建立了2个键值'安装路径'和'版本',就不会再出提示
      

  7.   

    已搞定,忘了用OpenKey打开“升级器”了,谢谢。