CLPowell, please note that you originally only reported 36 items from your enumeration and now you report getting 51 items. This was the result of me changing your code and adding an ELSE clause to one of your IF statements. Please review the code below to be sure you wish to keep this modification.

While @Error = 0
   ReDim PRESERVE $progs[$Index]
   $RC = EnumValue($RootKey + $Key, 1)
   If @Error = 0
      $Value = ReadValue($RootKey + $Key, "DisplayName")
      If $Value = ""
         $Value = ReadValue($RootKey + $Key, "QuietDisplayName")
         If $Value = ""
            $Value = $Key
         EndIf
      EndIf
   Else
      $Value = $Key

   EndIf
   $progs[$Index] = $Value
   $Index = $Index + 1
   $Key = EnumKey($RootKey, $Index)
Loop


[ 24 May 2002, 19:08: Message edited by: Howard Bullock ]
_________________________
Home page: http://www.kixhelp.com/hb/