Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2008
teatry teatry is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
teatry Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 02-12-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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
      // Obtenemos valores
      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...
Responder Con Cita
  #3  
Antiguo 02-12-2008
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
Tambien puede ser por permisos de tu usuario, si solo vas a leer valores prueba a usar OpenKeyReadOnly en vez de OpenKey
__________________
self.free;
Responder Con Cita
  #4  
Antiguo 02-12-2008
gcespedes gcespedes is offline
Registrado
 
Registrado: dic 2008
Posts: 1
Poder: 0
gcespedes Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 03-12-2008
teatry teatry is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
teatry Va por buen camino
Muchas gracias por sus respuestas, ya esta solucionado el problemas y tomare en cuenta la utilizacion de las etiquetas.

Saludos..
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lectura fichero escribe a registro Guillermo80 Varios 3 23-02-2008 22:56:03
problema en el registro de windows ascrnet Varios 2 29-12-2007 04:26:14
Problema de lectura de un cd dragondetierra Varios 0 18-02-2007 18:58:52
Problema de lectura de ficheros Moises22 Varios 3 05-12-2005 12:32:53
registro de Windows ebeltete API de Windows 1 17-06-2003 17:00:14


La franja horaria es GMT +2. Ahora son las 21:24:05.


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
Copyright 1996-2007 Club Delphi