Hola...
La forma en que estás abriendo la llave que quieres consultar está mal. La forma correcta sería:
Código Delphi
[-]
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\Microsoft\Speech\Recognizers\Tokens\MSASREnglish', False) then
begin
Reg.CloseKey
end
finally
Reg.Free
end
end;
Esto es, tienes que poner la ruta completa de la llave que quieres abrir. Además, debes el parámetro
CanCreate deberías ponerlo en
False para no crear la clave si esta no existe. De la forma en que lo haces, lo único que logras es crear varias claves nuevas bajo
HKEY_LOCAL_MACHINE (Abre el editor de registro y verás).
Ahora, para obtener un valor predeterminado, no se usa
(Predeterminado), se usa simplemente una cadena vacía.
Código Delphi
[-]
Valor := Reg.ReadString('', '');
Y ya para finalizar, usa las etiquetas [delphi ] código [/delphi ] (sin los espacios en blanco) cuando necesites publicar código...
Saludos...