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.
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
thingol
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
Apolo
“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!
Vc deu uma pensada no q o thingol escreveu? Pareceu ser uma alternativa interessante
A
Apolo
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
thingol
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
thingol
…
T
thingol
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).
(supondo que você gravou as linhas abaixo em um arquivo test.vbs).
'...HowdoIdeterminehowmuchfreememoryacomputerhas?strComputer="."SetobjWMIService=GetObject("winmgmts:"_&"{impersonationLevel=impersonate}!\\"_&strComputer&"\root\cimv2")SetcolSettings=objWMIService.ExecQuery_("Select * from Win32_OperatingSystem")ForEachobjOperatingSystemincolSettingsWscript.Echo"Available Physical Memory: "&_objOperatingSystem.FreePhysicalMemoryNext'...determinehowmuchRAMisinstalledinacomputer?strComputer="."SetobjWMIService=GetObject("winmgmts:"_&"{impersonationLevel=impersonate}!\\"_&strComputer&"\root\cimv2")SetcolSettings=objWMIService.ExecQuery_("Select * from Win32_ComputerSystem")ForEachobjComputerincolSettingsWscript.Echo"System Name: "&objComputer.NameWscript.Echo"Total Physical Memory: "&_objComputer.TotalPhysicalMemoryNext'...determinethespeedofaprocessorinstalledinacomputerstrComputer="."SetobjWMIService=GetObject(_"winmgmts:\\"&strComputer&"\root\cimv2")SetcolItems=objWMIService.ExecQuery(_"Select * from Win32_Processor")ForEachobjItemincolItemsWscript.Echo"Processor Id: "&objItem.ProcessorIdWscript.Echo"Maximum Clock Speed: "_&objItem.MaxClockSpeedNext
T
thingol
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
Apolo
E vc conhece alguma API em java que pegar esses tipos de informaçaõ que eu estou precisando ??
T
thingol
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
thingol
“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.
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.