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.

This article was originally written by:
Maurício Júnior
MCP, MCAD, MVP Microsoft
www.mauriciojunior.org