Um dia desses estava precisando pegar o número de ip da máquina para gravar no banco de dados usando Windows Forms e C#.NET. O meu problema foi que nunca precisei fazer isso, a não ser usando a plataforma ASP.NET (web).

        Pra isso tive que estudar um pouco e achar uma melhor maneira de pegar IP sem digitar muitas linhas de cĂłdigos. O resultado foi interessante, achei várias maneiras de fazer, porĂ©m escolhi a que melhor para o meu caso. EntĂŁo resolvi divulgar como artigo do site as 3 linhas de cĂłdigos.

Usado: Windows Forms, Visual Studio 2010, C#.NET, System.Net.

        O que fiquei mais surpreso foi que o framework da Microsoft possui classes especĂ­ficas para ajudar os desenvolvedores com isso.

        O primeiro passo foi fazer o importe da classe System.Net e pegar o nome da máquina. (Code 1)


string nome = Dns.GetHostName();

 

Code 1

        O segundo passo foi pegar o endereço IP da máquina passando a variável nome. (Code 2)

 

IPAddress[] ip= Dns.GetHostAddresses(nome);

 

Code 2

        A classe DNS oferece o mĂ©todo GetHostAddresses passando o nome do computador pego anteriormente. O mĂ©todo retorna um array de IPAddress, ou seja, pode ser pego vários ip’s no caso da nĂŁo passada de parâmetro (nome).

        O passo seguinte Ă© exibir o nĂşmero em tela. Usei o simples e fácil MessageBox para isso. (Code 3)

 

MessageBox.Show(ip[1].ToString());

 

Code 3

        Segue todo o cĂłdigo, incrĂ­veis 3 linhas. (Code 4)

 

string nome = Dns.GetHostName();

IPAddress[] ip= Dns.GetHostAddresses(nome);

MessageBox.Show(ip[1].ToString());

 

Code 4

        Fico por aqui e qualquer dĂşvida pode entrar em contato.