Você esta precisando obter informações sobre as interfaces das redes locais no seu computador ?
Não se perturbe, o VB .NET possui recursos que facilitam obter essas informações.
Para obter informações das redes locais chame o método estático(Shared) GetAllNetworkInterfaces do namespace System.Net.NetworkInformation.NetworkInterface para obter uma matriz de objetos derivados da classe abstrata NetworkInterface.
Cada objeto representa uma interface de rede disponível na máquina local. A seguir você pode usar os membros de cada objeto NetworkInterface para recuperar informações de configuração e estatísticas de rede para essa interface.
O namespace System.Net.NetworkInformation , que foi introduzido pela primeira vez em .NET Framework 2.0, fornece acesso fácil às informações sobre a configuração da rede e estatísticas que antes não eram disponíveis.
O principal meio de recuperar informações de rede são as propriedades e métodos da classe NetworkInterface . Você não instancia os objetos NetworkInterface diretamente. Em vez disso, você chama o método estático NetworkInterface.GetAllNetworkInterfaces que retorna um array de objetos NetworkInterface .
Cada objeto representa uma única interface de rede na máquina local; você pode, então, obter informações sobre a rede e as estatísticas da interface usando os membros da interface NetworkInterface.
Abaixo temos um resumo dos principais métodos e propriedades:
Propriedades:
Membro | Descrição |
Description | Retorna uma string que fornece uma descrição geral da interface |
Id | Retorna uma string que contém um identificador único da interface |
IsReceiveOnly | Valor boleano que indica se a interface pode apenas receber ou receber e enviar dados |
Name | String contendo o nome da interface |
NetWorkInterfaceType | Retorna um valor da
enumeração System.Net.NetworkInformation.NetworkInterfaceType que identifica o tipo da interface: Ethernet, FastEthernetT e loopback |
OperationalStatus | Retorna um valor da System.Net.NetworkInformation.OperationalStatus
que identifica o estado interface : Down e Up |
Speed | Retorna um long que
identifica a velocidade da interface (em bits por
segundo) reportada pelo Adaptador |
SupportsMulticast | Retorna um valor boleano que indica se a interface suporta pacotes multicast |
Métodos:
Membro | Descrição |
GetIPProperties | Retorna um objeto System.Net.NetworkInformation.IPInterfaceProperties que fornece acesso para a
confirmação de configuração TCP/IP para a interface. Suas propriedades fornecem a acesso ao WINS, DNS, gateway e configuração de endereço IP. |
GetIPv4Statistics | Retorna um objeto System.Net.NetworkInformation.IPv4InterfaceStatistics que fornece acesso às estatísticas
TCP/IP v4 para a interface. |
GetPhysicalAddress | Retorna um objeto System.Net.NetworkInformation.PhysicalAddress que fornece acesso ao endereço físico da interface. |
Supports | Retorna um boleano que
indica se a interface suporta um protocolo específico. Você especifica um valor usando a enumeração System.Net.NetworkInformation.NetworkInterfaceComponent |
Vamos criar um projeto bem simples para obter informações das interfaces das redes locais usando os recursos acima.
Abra o Visual Studio 2012 Express for desktop e clique no menu File -> New Project selecionando o template Visual Basic -> Windows Forms Application informando o nome VB_Informacoes_Rede.
A seguir inclua os seguintes controles no formulário form1.vb:
Disponha os controles conforme a figura abaixo:
![]() |
No início do formulário form1.vb declare o seguinte namespace:
Imports System.Net.NetworkInformation
A seguir no evento Click do botão de comando inclua o código abaixo:
Private Sub btnInfo_Click(sender As Object, e As EventArgs) Handles btnInfo.Click ' Somente continua se existir uma rede disponível If NetworkInterface.GetIsNetworkAvailable Then ' Obtém e define todos os objetos NetworkInterface para a máquina local Dim interfaces As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces() ' Itera sobre as interfaces e exibe as informações For Each ni As NetworkInterface In interfaces ' Rela a informação da interface lbInfo.Items.Add("Interface: " & ni.Name) lbInfo.Items.Add(" Descrição: " & ni.Description) lbInfo.Items.Add(" ID: " & ni.Id) lbInfo.Items.Add(" Tipo: " & ni.NetworkInterfaceType) lbInfo.Items.Add(" Velocidade: " & ni.Speed) lbInfo.Items.Add(" Status: " & ni.OperationalStatus) ' endereço físico lbInfo.Items.Add(" Endereço Físico: " & ni.GetPhysicalAddress().ToString) ' relata estatísticas de rede para a interface lbInfo.Items.Add(" Bytes Enviados : " & ni.GetIPv4Statistics().BytesSent) lbInfo.Items.Add(" Bytes Recebidos: " & ni.GetIPv4Statistics.BytesReceived) ' Configuração do IP lbInfo.Items.Add(" Endereço(s) IP : ") For Each addr As UnicastIPAddressInformation In ni.GetIPProperties.UnicastAddresses() lbInfo.Items.Add(" - > " & addr.Address.ToString & " - " & DateTime.Now.AddSeconds(addr.DhcpLeaseLifetime)) Next lbInfo.Items.Add(Environment.NewLine) Next Else lbInfo.Items.Add("Nenhuma interface de rede localizada.") End If lbInfo.Items.Add(Environment.NewLine) lbInfo.Items.Add("Operação concluída.") End Sub |
Executando o projeto e clicando no botão de comando obtemos o seguinte resultado:
![]() |
Simples e funcional.
Pegue o projeto completo aqui:
VB_Informacoes_Rede.zip
João 8:42
Respondeu-lhes Jesus: Se Deus fosse o vosso Pai, vós me amaríeis, porque eu saí e vim de Deus; pois não vim de mim mesmo, mas ele me enviou.João 8:43
Por que não compreendeis a minha linguagem? é porque não podeis ouvir a minha palavra.João 8:44
Vós tendes por pai o Diabo, e quereis satisfazer os desejos de vosso pai; ele é homicida desde o princípio, e nunca se firmou na verdade, porque nele não há verdade; quando ele profere mentira, fala do que lhe é próprio; porque é mentiroso, e pai da mentira.Veja os Destaques e novidades do SUPER DVD VB (sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira... Quer aprender C# ??
Chegou o
Super DVD C# com exclusivo material de
suporte e vídeo aulas com curso básico sobre C# |
Gostou ? Compartilhe no Facebook
Compartilhe no Twitter
Referências: