Well, I may not be an array master, but I think I have something for your custom dictionary problem. Give this a try...

code:
Break On CLS

$EnumRegKey = "HKCU\Software\Microsoft\Shared Tools\Proofing Tools\Custom Dictionaries"
$Find = "MyCustom.dic"

$Index = 0
Dim $ValueName[100], $ValueData[100]

While @ERROR = 0
$ValueName[$Index] = ENUMVALUE($EnumRegKey, $Index)
$ValueData[$Index] = READVALUE($EnumRegKey, $ValueName[$Index])
If $ValueData[$Index] = $Find $Found = 1 Endif
If @ERROR = 0 $Index = $Index + 1 Endif
If $Index = ubound($ValueName)
ReDim Preserve $ValueName[$Index+100], Preserve $ValueData[$Index+100]
Endif
Loop

$Index = $Index -1
ReDim Preserve $ValueName[$Index], Preserve $ValueData[$Index]

If Not $Found
$nul = WRITEVALUE($EnumRegKey, val($ValueName[ubound($ValueName)])+1, $Find, "REG_SZ")
If @ERROR
"Error Adding: " + $Find ?
Else
"Added $Find to the Custom Dictionary key." ?
Endif
Else
$Find " is already in the Custom Dictionary key." ?
Endif



[ 02. September 2002, 15:32: Message edited by: Chris S. ]