Troque o local da chave que vc salva. De HKEY_LOCAL_

MACHINE para HKEY_CURRENT_USER que é o usuário atual da máquina. 
Provavelmente isso resolverá.



Daniel Lucena respondeu:
>
> Olá senhores,
>
> Tenho um sistema que utiliza o registro do windows para armazenar 
> alguns dados necessários para seu funcionamento, tais como: endereço 
> do banco de dados, versão, etc...
>
> Funciona perfeitamente em contas do windows com nivel de 
> "administrador", porém, não permite escrita e nem leitura dos 
> registros em "conta limitada".
>
> Se alterar manualmente as permissões, via regedit, da chave do sistema 
> (HKEY_LOCAL_MACHINE\Software\MeuPrograma), consigo também fazer 
> leitura e escrita nos registros.
>
> Logo, o que eu preciso é fazer isso automaticamente! Ao criar a chave 
> no registro do windows, preciso definir permissão para todos os 
> usuários poderem fazer leitura e escrita nesta chave específica.
>
> Uso as funções abaixo para realizar leitura e escrita no registro do 
> windows:
>
> //gravar
> //chamada da função
> GravaRegistroString(HKEY_LOCAL_MACHINE,'Software\MeuPrograma','Banco','c:\banco');
>
> //função
> function GravaRegistroString(Raiz: Dword; Chave, Valor, 
> Dado:string):boolean;
> var Registro : TRegistry;
> begin
> try
> Registro := TRegistry.Create;
> Registro.RootKey := Raiz;
> Registro.OpenKey (Chave, True);
> Registro.WriteString (valor, dado);
> Registro.CloseKey;
> Registro.Free;
> result := true;
> except
> result := false;
> end;
> end;
>
> //ler
> //chamada da função
> edit1.text := 
> LeRegistroString(HKEY_LOCAL_MACHINE,'SOFTWARE\MeuPrograma','Banco');
>
> //função
> function LeRegistroString(Raiz: Dword; Chave, Valor:string):string;
> var Registro : TRegistry;
> begin
> try
> Registro := TRegistry.Create;
> Registro.RootKey := Raiz;
> Registro.OpenKey (Chave, false);
> result := Registro.ReadString (valor);
> Registro.CloseKey;
> Registro.Free;
> except
> result := '';
> end;
> end;
>
> Muito obrigado a todos mais uma vez pela força!
>
> Daniel Vitor
> Eng. de Computação
>
> __________________________________________________
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/ <http://br.messenger.yahoo.com/>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition. 
> Version: 7.5.463 / Virus Database: 269.5.7/771 - Release Date: 21/4/2007 11:56
>   

-- 

------------------------------------------------------------------------
*Adriano Santos*

Responder a