Conocer mi IP

daniotero
28 de Noviembre del 2003
Buenas gente!
A ver, tengo una pequeña duda. Necesito conocer mi IP para conectarme desde un AS400 de IBM a mi PC y ya no me acuerdo ni de como se hacia. Asi que mi duda es, ¿Como puedo obtener la IP de mi estacion de trabajo?

Un saludo y gracias

matamala
28 de Noviembre del 2003
con este codigo no solo sabes la IP. sino que te mostrara bastantes cosas mas.

crea un proyecto nuevo con un textbox, al cual le das true a la propiedad multiline.llamalo, txtinforma.
copia este codigo, en el formulario haces doble click en cualquier parte menos en el textbox y eliminas lo que te pondrá: Private sub form_load()
end sub . luego pegas este codigo. y a saber la IP...

Public Function WMI_INSTALADO() As Boolean
'http://www.microsoft.com/latam/technet/articulos/windows2k/wmixwdm/
'lo anterior si quieres saber qué significa WMI
Dim WMI As Object
On Error Resume Next
Set WMI = GetObject("winmgmts:")
WMI_INSTALADO = (Err.Number = 0)
End Function

Private Sub Form_Load()
If WMI_INSTALADO() Then
MsgBox "Su sistema posee WMI"
getWMI_Info
Else
MsgBox "Su sistema no posee WMI"
End If
End Sub
Private Sub getWMI_Info()
Dim oAdapters As Object
Dim oAdapter As Object

' Control Errores
On Error GoTo Control_ERROR

' Nombre del Ordenador
Me.Txtinforma = "Nombre:" & Environ$("computername") & vbCrLf

Set oAdapters = GetObject("winmgmts:").execquery( _
"SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

' Datos
For Each oAdapter In oAdapters



With oAdapter
' MAC-Dirección
Me.Txtinforma = Me.Txtinforma & "MAC:" & .MACAddress & vbCrLf

' IP-Dirección
Me.Txtinforma = Me.Txtinforma & "IP:" & Join(.IPAddress) & vbCrLf

' Maskara subnet
Me.Txtinforma = Me.Txtinforma & "MASCARA:" & Join(.IPSubnet) & vbCrLf

' Gateways-Puertas de enlace (Router, por ejemplo)
If Not IsNull(.DefaultIPGateway) Then
Me.Txtinforma = Me.Txtinforma & "PUERTA ENLACE:" & Join(.DefaultIPGateway) & vbCrLf
End If

' DNS - Primaria/Secundaria
Me.Txtinforma = Me.Txtinforma & "DNS:" & .DNSHostName & vbCrLf

' WINS PRIMARIA
If .WINSPrimaryServer <> "" Then
Me.Txtinforma = Me.Txtinforma & "WINS Primaria:" & .WINSPrimaryServer & vbCrLf
End If

' WINS - Secundaria
If .WINSSecondaryServer <> "" Then
Me.Txtinforma = Me.Txtinforma & "WINS Secundaria:" & .WINSSecondaryServer & vbCrLf
End If
End With
Next
On Error GoTo 0
Exit Sub

Control_ERROR:
MsgBox "Error: " & Err.Number & vbTab & Err.Description, vbCritical
Resume Next
End Sub

c4rlos
28 de Noviembre del 2003
ese código esta muy largo. mejor es hacerlo con el Winsock que esta dentro de los componentes de Visual basci ocx.

agregas ese componete e inserta éste código, ya sea en el Load de la forma o en un boton donde quieras:


Winsock1.LocalHost = Label1.Caption

daniotero
28 de Noviembre del 2003
c4rlos no he entendido bien tu explicación, podrias explicarmelo mejor?
me gustaria guardar mi IP en un string. Como lo harias?
Muchas gracias por tu antencion

sdemingo
28 de Noviembre del 2003
Hola,

Añade el control Winsock a un proyecto y añade este código de ejemplo:

Private Sub Form_Load()
Dim strIP As String

strIP = Winsock1.LocalIP
MsgBox strIP

End Sub

Saludos
sdemingo

daniotero
28 de Noviembre del 2003
si no me aparece el control winsock en el menu de controles?
joeeeee soy un desastre

daniotero
28 de Noviembre del 2003
ME DEBO ESTAR QUEDANDO CIEGO PORQUE NO LO ENCONTRABA!!!JE,JE,JE
GRACIAS A TODOS POR VUESTRA AYUDA!
UN SALUDO

sdemingo
28 de Noviembre del 2003
Proyecto-Componentes-Microsoft Winsock Control 6.0 (SP5)
o en su defecto la versión que tu tengas.

Saludos
sdemingo

daniotero
28 de Noviembre del 2003
Estas hecho un crack eh!!!je,je muchas gracias una vez mas