Hardware

10 respostas
A

Diz aí pessoal!
Alguem sabe me dizer se é possivel fazer uma detecção de hardware usando Java.
Por exemplo. Fazer um programa que faça um inventário na máquina coletando dados dos processador (marca, frequência, modelo, fabricante), memória, placas instaladas, HD e coisas do tipo.

se existe uma forma e se alguem sabe me um toque.

Muito grato a todos.

10 Respostas

T

Java não é exatamente a linguagem mais indicada para isso. Você pode tentar achar algum programa em C ou VBScript que faça isso e que gere a saída em um arquivo texto, para você poder usá-la em seu programa.

F

Se o SO for Linux nem precisa ficar atras de programas. Basta ler os arquivos:

/proc/cpuinfo
/proc/pci
/proc/meminfo

e dar uma olhada tb nos arquivos dentro de /proc/ide

Pgiovanni

Bem com disse o thingol, Java nao é exatamente a linguagem para esse tipo de fim…
Mas nao precisa ir atrás de escrever um programa desses nao…

Aqui você vai encontrar uma penca desses programas…

Mas eu sugiro o Everest

A

OK Senhores muito obrigado pelas dicas estarei testando os programas.
Mas a idéia básica é fazer um programa já integrado em alguma outra aplicação java que os usuários da rede já utilizam.
Estava pensando em criar uma thred que será executada em segundo plano (Sem o usuário ver).
O programa faria um enventário da máquina e já atualiza os dados na banco.
Desta forma não precisa instalar nada em nenhuma máquina e nem sair executando um programinha em todas as estações, Também tenho a vantagem de ter o banco sempre atualizado sem precisar ficar me preocupando em atualizá-lo todas as vezes que mudar alguma coisa em alguma estação.
Escrever em Java me dá a vantagem de utilizar essa técnica em ambientes hibridos sem a necessidade de escrever a mesma coisa para várias plataformas.
Eu sei que java não é a mais indicada para fazer isso. Mas alguém sabe me dizer se é possivel.

Agradeço a ajuda de todos.

Mauricio_Linhares

Esse é o problema, pra acessar dados sobre o harware ou o sistema operacional em Java você provavelmente vai ter que escrever a mesma aplicação usando as bibliotecas específicas de cada sistema.

T

Grandes empresas costumam usar soluções caras como o IBM Tivoli ou o CA Unicenter para fazer isso (coletar inventário). Cada um desses softwares têm “clients” específicos para cada sistema operacional, porque algumas informações não são fáceis de obter (não sei quanto ao Everest, mas o Sisoftware Sandra tem por exemplo de instalar um device driver especial no Windows para poder obter uma boa parte das informações, que não são fornecidas pelo sistema operacional.)

LOUKO

Uma dica que talvez ajude.

Procure na net por AIDA32, este projeto foi descontinuado e seu “Pai” o Tamas Miklos esta desenvolvendo o Everest, mas ainda dah pra usar bastante o aida.

Com o aida vc pode deichar o programa em uma pasta compartilhada e executa-lo remotamente, com ele vc pode pedir para que escreva o report em varios formatos, entre eles txt, xml, html. Mas a melhor opção é mandalo escrever em ADO, ele utiliza um banco de dados para os Report.

Com esta solução você poderia pedir ao Java que execute remotamente o arquivo com suas opções e manda-lo salvar direto no BD.

Problemas que podem ocasionar é a lentidão da maquina, já que o AIDA32 durante o report consome muito processamento, mas isso vai depender do que vc pediu pra ele fazer o Report, se pedir todas as DLL ele vai matar a maquina por alguns minutos, uma dica seria só pegar os softwares instalados, um sumário basico da maquina.

Referente ao Linux, como disse nosso amigo, vc pode ler os arquivos, mandar ele executar um “lspci” (lista todas as placas pci do sistema) e pegar o resultado.

Creio que, posso estar errado, a classe Runtime ou algo do genero vc consiga executar os comandos no sistema operacional.

Não esqueça sobre as permissões em diretórios e comandos.

Espero ter ajudado.

[]'s

A

Ok!!!
vou procurar pelo AIDA32!
Valeu galera.
Muito obrigado a todos.

dyorgio

cara…
é possivel fazer isso sim com JAVA…
de ulha o lhada na classe java.lang.System …

[]'s dyorgio

F

Eu fiz um sistema destes em java+vb, por enquanto ele funciona só para windows. e posso te passar ele free.

Criado 13 de junho de 2005
Ultima resposta 14 de mai. de 2007
Respostas 10
Participantes 8