La Web del Programador: Comunidad de Programadores
 
    Pregunta:  43737 - OBTENER MI DIRECCIóN IP PúBLICA
Autor:  Javier L
¿Cómo puedo obtener mi dirección IP pública en Visual Basic 6?
El control Winsock solo proporciona la IP local.
¿Hace falta otro control, ó librería?

Muchas gracias de antemano

  Respuesta:  Hans (sowher) Cruz Buchelli
Aca te va un code q lo he diseñado, pero no se si te servira...

Esa direccion es la correcta

Private Sub Form_Load()
Dim IPTroyanada As String

' Obtenemos la IP Publica
IPTroyanada = Inet1.OpenURL("http://www.emergencias.com.ve/sowher/ipvb.php")

MsgBox IPTroyanada, , "sowher / GEDZAC Labs"

End
End Sub

  Respuesta:  Raúl Collazo Alvarez
Hola Javier...

Bueno... Esta es una manera (aunque un poco lenta) de conseguir la IP pública...

En un formulario (frmPrincipal) colocamos un control Microsoft Internet Transfer Control (Inet1) y en un módulo ponemos esta función...

Public Function IPPúblicaXWeb() As String
Dim InfoIP As String
Dim Cur1 As Byte, Cur2 As Byte

InfoIP = frmPrincipal.Inet1.OpenURL("http://www.showmyip.com/es/", icString)

Do While InStr(1, UCase(InfoIP), "</TITLE>") = 0
InfoIP = InfoIP & frmPrincipal.Inet1.GetChunk(100)
DoEvents
Loop

Cur1 = InStr(1, InfoIP, "<TITLE>") + 46
Cur2 = InStr(Cur1, InfoIP, "</TITLE>") - 21

IPPúblicaXWeb = Mid(InfoIP, Cur1, Cur2 - Cur1)
End Function

Espero que te sirva... Si alguien conoce una manera más rápida, me interesaría mucho conocerla.

Un saludo!!!