下面地代码为什么读到的健值是空的(在注册表中有值)
  Reg:=TRegistry.Create;
  Try
    Reg.RootKey:=HKEY_CURRENT_USER;
    IF Reg.OpenKey('\software\userinfo',false) then
    begin
      UserName:=Reg.ReadString('UserName');
      PassWord:=Reg.ReadString('PassWord');
      Reg.CloseKey;
    end;
  finally
    Reg.CloseKey;
    Reg.Free;
  end;

解决方案 »

  1.   

    CB中读注册表的程序,如果你注册表中没有内容的话,读出来是空值。int GetRegInt(AnsiString KeyName)
    {
      int S;
      TRegistry *Registry = new TRegistry;
      try
      {
        Registry->RootKey = HKEY_LOCAL_MACHINE;
        Registry->OpenKey("\\Software\\iCE mAN pRO\\CRH",false);
        S = Registry->ReadInteger(KeyName);
      }
      __finally
      {
        delete Registry;
      }
      return S;
    }
      

  2.   

    你的:'\software\userinfo'存在吗?要是不存在的话先建立一个