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/ [As partes desta mensagem que não continham texto foram removidas]