Array
(
)

Registry.

Ericfp
   - 07 abr 2006

Boa tarde.

Fiz um programa no Delphi para pegar algumas informações do Registry, esse programa será executado nas estações (W2K/WINXP). O problema e que o usuário logado não é o adm da maquina, e o programa não esta pegando as informações.

O que devo fazer?

Grato.


Paullsoftware
   - 07 abr 2006

Eu também já tive esse problema e tive que mudar os previlérgios do usuários para usuário padrão e funcionou, no meu caso funcionou...


Ericfp
   - 07 abr 2006

Fala.

Você mudo a permissão nas maquinas?

Ninguem sabe me dizer ao certo do porque disso, pois se você executa o regedit ele deixa vc consultar.

grato.


Massuda
   - 07 abr 2006

A idéia nos Win NT/2K/XP é que o usuário comum não precisa executar atividades de manutenção do sistema (exemplo: instalar programas, mexer na pasta Arquivos de Programas, etc) e que essas atividades são responsabilidade do administrador.

Não é possível passar por cima desse mecanismo de segurança sem que um administrador ajude. Por exemplo, para fazer o que o paullsoftware sugere é preciso ser administrador da máquina, para fazer o que você quer programaticamente (sim, é possível) é necessário o login e senha do administrador (o jeito mais simples é iniciar seu programa usando o comando RunAs).


Paullsoftware
   - 07 abr 2006

aprveitando a deixa Massuda, tem como passar o nome e a senha em um paramtro do sistema tipo:
eu crio um programa que vai abrir o outro mais ou menos assim:

#Código

var MeuProg:String;
begin
...
MeuProg := ExtractFilePaht(ParamStr(0))+ExtractFileName(ParamStr(0));
MeuPrg := ´RunAs /Profile /User:Paulo Ricardo ´+ MeuProg;
WinExec(pChar(MeuProg,Ws_Normal);

mais mesmo assim ele pede a senha do administrador, será que tem como já colocá-la automaticamente? :roll:


Massuda
   - 07 abr 2006


Citação:
...mesmo assim ele pede a senha do administrador, será que tem como já colocá-la automaticamente?
O RunAs não preve a digitação da senha na linha de comando; isso não é possível por motivos de segurança. Seria como você colar uma etiqueta com a sua senha do seu cartão de banco no seu cartão de banco.


Ericfp
   - 07 abr 2006

entaum.

para ler eu descobri aqui no forum isso

http://forum.clubedelphi.net/viewtopic.php?t=65565&highlight=administrador

fala sobre como deve ser criado a variavel do Registry.


Citação:
Reg := TRegistry.Create(KEY_READ);


mas em um futuro proximo, eu precisaria saber como logar com o administrador da maquina, isso para desinstalar possiveis aplicativos instalados pelo usuário, sem que ele tenha conhecimento.


Massuda
   - 07 abr 2006


Citação:
para ler eu descobri aqui no forum isso...
Desculpe, não tinha prestado atenção e visto que você queria apenas ler o Registro (que, como eu mesmo disse, não tem problema).