Problema con lectura de registro de windows
Saludos a todos, mi problema es el siguiente:
Tengo que leer información del registro de windows para listar los idiomas de reconocedores de voz de windows (sapi 5.1), para tal motivo utilizo el siguiente código: var Re : TRegistry; Regi : TRegDataInfo; Valor : TStringList; begin re:=TRegistry.Create; re.RootKey := HKEY_LOCAL_MACHINE; re.OpenKey('Software', True); re.OpenKey('Microsoft', True); re.OpenKey('Speech', True); re.OpenKey('Recognizers', True); re.OpenKey('Tokens', True); re.OpenKey('MSASREnglish',true); try valor:= TStringList.Create; re.GetValueNames(valor); re.GetDataInfo('(Predeterminado)',regi); Edit1.Text:=re.ReadString('(Predeterminado)'); except end; El problema es que no me muestra ningún valor, es como que '(Predeterminado)' no tendria ningún valor, pero cuando veo el registro este si tiene un valor que es 'Microsoft English Recognizer v5.1', no se cual es el problema del porque no me devuelve ningún valor, si alguien me podría dar la solución al problema se lo agradeceré. Saludos. |
Hola...
La forma en que estás abriendo la llave que quieres consultar está mal. La forma correcta sería:
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.
Y ya para finalizar, usa las etiquetas [delphi ] código [/delphi ] (sin los espacios en blanco) cuando necesites publicar código... Saludos... |
Tambien puede ser por permisos de tu usuario, si solo vas a leer valores prueba a usar OpenKeyReadOnly en vez de OpenKey
|
Modificar el registro de Windows
Hola a todos soy nuevo en este foro, hace algunos días que estoy buscando información relacionada con el tema pero no he podido encontrar, estoy realizando una aplicación que debe modificar el registro de Windows, de echo lo hace pero desde usuarios con permisos administrativos, y quisiera saber si hay alguna forma de hacerlo desde usuarios restringidos. Desde ya muchas gracias.
|
Muchas gracias por sus respuestas, ya esta solucionado el problemas y tomare en cuenta la utilizacion de las etiquetas.
Saludos.. |
La franja horaria es GMT +2. Ahora son las 21:40:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi