WIN + JAVA + Listar conexoes de rede!

8 respostas
dcbasso

Pessoal, to fazendo um programinha bem util para WIN, mas quero ver se consigo resolver um problema!

Quero obter a lista de CONEXOES DE REDE da maquina! Alguem manja como fazer isso? Tem algum jeito?

Abracosss

(Se eu conseguir terminar o projeto, vou disponibilizar o projeto para todos, quem sabe ateh o fonte!)

8 Respostas

T

http://www.serverwatch.com/tutorials/article.php/1548421

Copie o programa a seguir para um arquivo teste.vbs, altere a string “nome da sua maquina” para o nome de sua máquina, e rode-o em um Prompt de Comando (DOS) com o comando:

cscript teste.vbs

sComputer 	=  "nome da sua maquina"

sNameSpace	= "root/CIMV2"
sClass		= "Win32_NetworkAdapter"

Set cInstances = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _
		sComputer & "/" & sNameSpace & ":" & sClass).Instances_

For Each oInstance In cInstances
	WScript.Echo String(60,"=")
	For Each oProperty In oInstance.Properties_
		WScript.Echo oProperty.Name 
		If IsArray(oProperty) Then
			For iCount = 0 To UBound(oProperty)
				WScript.Echo vbTab & oProperty.Value(iCount)
			Next
		ElseIf IsNull(oProperty) Then
			Wscript.Echo vbTab & "Property not set"
		Else
			WScript.Echo vbTab & oProperty.Value
		End If
	Next
Next
dcbasso

UOU, fiquei sem entender…
Eh para colocar isso dentro de .bat por exemplo??

dcbasso

Aaaa ta cara… agora entendi, nossa BOLAAAA FORA!!!

ja to estudando o script ae pra melhorar o retorno!!! já estou quaseee lááá!!!
Depois que arrumar o código para otimizar, vou ver como farei pra pegar o retorno com isto:

// Win9x
Runtime.getRuntime().exec("start teste.vbs");

// WinNT
Runtime.getRuntime().exec("cmd /c start teste.vbs");

ou

// Com console visivel
Runtime.getRuntime().exec("cscript teste.vbs");

//sem console visivel
Runtime.getRuntime().exec("wscript teste.vbs");

AGORA SIm!!!
Sabe se JNI da pra usar e fazer algo com VBS?

Abracos Thingol!!!

T

Eu acho que VBScript permite você escrever a saída em um arquivo. Aí fica bem fácil de trabalhar (redirecionar a saída de um programa é sempre meio chatinho).

dcbasso

Olha o codigo mais aperfeiçoado!!!

sComputer 	=  "Nome Computador"

sNameSpace	= "root/CIMV2"
sClass		= "Win32_NetworkAdapter"

Set cInstances = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _
		sComputer & "/" & sNameSpace & ":" & sClass).Instances_

For Each oInstance In cInstances
	For Each oProperty In oInstance.Properties_
		If oProperty.Name = "NetConnectionID" Then
			if Not IsNull(oProperty.Value) Then
				WScript.Echo String(30,"=")
				WScript.Echo vbTab & oProperty.Value
			End If	
		End If		
	Next
Next

Ontem na madruga não achei um código tipo If IsNotNull() Then (algo como isso), mas vou procurar mais no MSDN!
Eh uma saída né, salvar a saída dos dados!! Ontem eu vi que tem uns lances para gravar arquivos...

VALEUUU

T

Pô, meu, você poderia usar “if Not IsNull(” - VB não é C ou Java e não tem abreviações enigmáticas, como a “!” para indicar negação. (Para mim “!” quer dizer fatorial :stuck_out_tongue: )
Not é Not mesmo.

dcbasso

Eu achei que era
IsNotNull, mas dava erro, e procurei na parte de objetos no MSDN e naum tinha achado nada, mas se NOT eh a negacao mesmo!!!

To acostumado com o “!” mesmo!

dcbasso

Arrumado!

Criado 25 de março de 2009
Ultima resposta 27 de mar. de 2009
Respostas 8
Participantes 2