Detectando dispositivos

14 respostas
A

Alguém conhece um programa para Windowns que seja free e que seja capaz de pegar informações a respeito de placa de rede existente no computador, do processador, do sistema operacional, quanto existe de memória ram, etc … Ou seja, pegar informações de Software e Hardware da máquina.

valeu !!

14 Respostas

aborges

Vc quer uma API para q vc possa utilizar estas informacoes ou apenas quer ve-las??

Para saber tudo isso q vc perguntou, basta ir em System no Control Panel do Windows … :roll:

T

Se eu fosse chato ia falar : “inicie o programa winmsd.exe”
Em várias versões do Windows winmsd.exe mostra aquela janela de System Information.

Mas como eu sou amigo, então lá vai:

Se você é fã do Bill e não tem medo do VBScript, de WMI e conhece o Windows Resource Kit, e além disso já ouviu falar de uma biblioteca chamada Jacob (ou então a Njawin), você pode tentar fazer o seguinte:

  • Veja no Windows Resource Kit se existe um script .VBS que lista as informações que você quer. Ele deve instanciar um monte de componentes COM que indagam ao Windows (via WMI) as informações que você quer.
  • Uma vez feito isso, use o Jacob para chamar esses componentes a partir de seu programa Java.
A

“aborges”:
Vc quer uma API para q vc possa utilizar estas informacoes ou apenas quer ve-las??

Existe alguma API de tal forma que eu possa pegar informações desse tipo ?? Tanto em nível de Hardware como de Software !!

aborges

Nao sei! Eh preciso procurar! Caso exista, ela usaria obrigatoriamente JNI, portanto esqueca a portabilidade ente OSs! :frowning:

Vc deu uma pensada no q o thingol escreveu? Pareceu ser uma alternativa interessante :wink:

A

thingol,

As informações que preciso pegar são :
1 - Tamanho do HD
2 - Tamanho da Memória ram
3 - Software instalados
4- Versão do Sistema Operacional
5 - Nome da Placa de rede

Por não ser informações de tão baixo nível, existe alguma API java para isso ??

Outra dúvida :
No caso de usar o Jacob, seria necessário utilizar JNI, não é ? Seria fácil de fazer essa solução que vc falou ??

T

O Jacob ( http://danadler.com/jacob/ ) é uma biblioteca que contém um componente JNI, que é usado para poder acessar os componentes COM.

Vou dar uma olhada no MSDN, para lhe dar os “ponteiros” para o WMI.

T

T

Sinto muito, isto é código VBScript, e não sei exatamente como é que se converte isto para chamadas ao Jacob. Mas isso é que está disponível para os Windows da família 2000 (Windows 2000, XP, 2003).

Veja, por exemplo, em

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_tasks__computer_hardware.asp

O código abaixo é VBScript e deve ser rodado com

cscript test.vbs

(supondo que você gravou as linhas abaixo em um arquivo test.vbs).

' ... How do I determine how much free memory a computer has?

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colSettings 
    Wscript.Echo "Available Physical Memory: " & _
        objOperatingSystem.FreePhysicalMemory
Next

' ... determine how much RAM is installed in a computer?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
    Wscript.Echo "System Name: " & objComputer.Name
    Wscript.Echo "Total Physical Memory: " & _
        objComputer.TotalPhysicalMemory
Next

' ...determine the speed of a processor installed in a computer
strComputer = "."
Set objWMIService = GetObject(_
    "winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery(_
    "Select * from Win32_Processor")
For Each objItem in colItems
    Wscript.Echo "Processor Id: " & objItem.ProcessorId
    Wscript.Echo "Maximum Clock Speed: " _
        & objItem.MaxClockSpeed
Next
T

A informação 4 (Versão do SO) é mais fácil, você pode obtê-la via System.getProperty() - funciona em qualquer SO, mesmo no Solaris, Linux etc. (Cheque qual é o parâmetro certo para passar a System.getProperty()).

A

E vc conhece alguma API em java que pegar esses tipos de informaçaõ que eu estou precisando ??

T

Tenho uma idéia. Leia aquelas páginas do MSDN e escreva um script VBScript que obtenha a informação desejada e a jogue em um arquivo. No seu programa Java, use Runtime.exec e execute alguma coisa como “cmd /c cscript seuscript.vbs > saida.txt” onde seuscript.vbs é o script VBScript que obtém as informações desejadas, e saida.txt é o nome do arquivo onde você vai pegar as tais informações. Aí no seu programa Java é só ler o tal arquivo saida.txt.

Tome um pouco de cuidado, que essas informações demoram um pouco para serem obtidas, portanto é necessário esperar alguns segundos antes de tentar ler o tal arquivo.
Aí você não precisa de Jacob nem nada. Normalmente os Windows da série 2000 já têm esse cscript.exe no path, então é bem fácil fazer o que você quer.

É meio porco porque vai aparecer uma janelinha do DOS, mas funciona direitinho.

T

“Apolo”:
Alguém conhece um programa para Windowns que seja free e que seja capaz de pegar informações a respeito de placa de rede existente no computador, do processador, do sistema operacional, quanto existe de memória ram, etc … Ou seja, pegar informações de Software e Hardware da máquina.

Eu não tinha lido direito sua pergunta original. A resposta é “baixe o SiSoftware Sandra 2004”, esse programa é super-completo e diz exatamente o que você quer.

http://www.sisoftware.co.uk/

Esse programa é legal, por exemplo, quando você vai comprar uma máquina e você não sabe se o seu fornecedor montou a máquina direitinho (por exemplo, você pediu um Athlon 2000 e ele overclocou a máquina para parecer um Athlon 2000.) Ele diz até se a CPU está overclocada, por exemplo. Leve uma cópia quando você for conferir uma máquina.

Ironlynx

Eu tenho outro programa como dica:o Everest
Eu uso a versão 1.5 e digo:ele eh muito bom!
veja mais aqui:
http://www.forumpcs.com.br/viewtopic.php?t=90369

A

“Ironlynx”:
Eu tenho outro programa como dica:o Everest
Eu uso a versão 1.5 e digo:ele eh muito bom!
veja mais aqui:
http://www.forumpcs.com.br/viewtopic.php?t=90369

Ironlynx, essa versão é freeware ??

Criado 4 de novembro de 2004
Ultima resposta 5 de nov. de 2004
Respostas 14
Participantes 4