Tem como Alterar as Permissões do registro do windows?

8 respostas
V

Pessoal, tem algum jeito de alterar a permissao de uma chave de registro do win?

tipo, quero que determinada chave possa ler dita por todo mundo mas so possa ser alterada por usuarios do grupo administrador .

Agradeco qualquer ajuda

Venom

8 Respostas

T

Logue-se como administrador (ou um usuário suficientemente poderoso), use o regedt32 ou o regedit (depende da versão do Windows), clique com o botão direito sobre a chave desejada.

Não é possível atribuir uma permissão a apenas um valor, mas a uma chave inteira. (O que normalmente é o desejado).

V

Acho que vc não entendeu.

Eu quero fazer um Aplicacao java QUE FACA ISSO.

UM METODO EM MINHA APLICACAO EM QUE EU POSSA DEFINIR AS PERMISSOES DE DETERMINADA CHAVE DO REGISTRO

Quem souber de algo, por favor, poste aqui

falow

T

Não precisa gritar, não é porque isto é um fórum Java que tenho de resolver seu problema em Java. Só preciso resolver seu problema; não importa como.

A maneira mais simples de resolver isso é baixar alguma ferramenta do Windows Resource Kit que faça isso (alterar uma chave do registry e dar a permissão correta) e chamá-la via Runtime.exec.

Outra forma é você procurar no MSDN quais são as APIs que devem ser chamadas para alterar as permissões de uso (já vou lhe dizer que é bem mais difícil que você está achando), aprender um pouco de C e API do Windows (acho que um pouco é eufemismo), e escrever uma DLL JNI. Já aviso que isso não é para os mais fracos de estômago.

V

Mil desculpas.

Não quis parecer rude :frowning:

Putz, é tao dificil assim?

To pesquisando em C# tb, mas nao achei nada ainda :frowning:

mas valeu mesmo pela atencao, vou dá mais umas pesquisadas

se mais alguem souber de algo, por favor, poste

venom

S

Não tentei ainda, por isso não tenha o que eu vou falar aqui como verdade absoluta, mas é algo que creio que irá funcionar. Irei começar a desenvolver uma função de escrever no registro, mas somente lá pela semana que vem, pois agora estou com outra prioridade. Pelo que vi o Java por si só não tem uma API própria para escrever no registro do Windows ‘posso estar enganado’, O que aconselho a vocês a fazerem e o que eu farei é:

  1. Escrever uma DLL em outra linguagem de programação, eu vou usar C#, pois estou mais acostumado. Tem um tutorial no seguinte link: http://www.devmedia.com.br/articles/viewcomp.asp?comp=1323 , importante: Teste o código.

  2. Instancie o código em sua aplicação, se ainda me lembro você deve usar o JNI.

Obs: o que eu vou escrever nessa observação não tem muito haver com o projeto, mas pode servir de ajuda, existem vários exemplos ensinando a criar uma DLL em outra linguagem e usar Java se você procurar por parport, que é uma api que permite manipular a LPT, mas lembre-se o parport não tem nada haver com esse projeto.

  1. Depois basta usar as funções desenvolvidas normalmente.

Isso é uma idéia muito vaga eu sei, semana que vem quando eu começar a desenvolver a medida que eu for criando vou postando o código. Lembre-se eu nem tentei fazer então nem sei se pode dar certo, isso é apenas por onde eu pretendo começar.

S

O caminho é esse mesmo. Não tem como acessar funções específicas de cada SO diretamente com Java. Neste caso você vai precisar mesmo usar JNI e uma aplicação externa pra resolver seu problema. Não tem outra saída…

S

Desculpa a demora, mas estou com ainda criando o site tive uns atritos com o PHP, migrei para o CSharp, mas achei que tinha que dar uma volta muito grande com ele para coisas que se fazia em php com poucas linhas então voltei para PHP e nesse troca, troca de servidor de hospedagem a página está quase totalmente incompleta com excessão do fórum e do Wiki, que estão funcionando, mas não foram feitos por mim (infelizmente), mas isso não vem ao caso, como prometido.

No link abaixo você tem um tutorial de como escrever no registro do Windows, a linguagem que eu usei foi CSharp, mas não está difícil de adaptar para outra caso queira.

http://www.aldeiati.com.br/forum/viewtopic.php?f=20&t=4
Caso tenha alguma dúvida pode perguntar. Em relação ao JNI eu ainda não usei e estou sem tempo para testar agora, mas assim que tiver uma brecha eu testo e posto.

S

Ai to olhando agora na internet e tem como fazer isso em Java mesmo sem precisar de API não sei a partir de qual versão do Java isso está implementado. Mas você deve usar importar o

java.util.prefs.Preferences

Nesse link explica melhor: http://www.mail-archive.com/[email removido]/msg00014.html

Criado 30 de maio de 2006
Ultima resposta 27 de jun. de 2008
Respostas 8
Participantes 4