Conocer mi IP
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
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
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
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
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
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
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
me gustaria guardar mi IP en un string. Como lo harias?
Muchas gracias por tu antencion
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
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
si no me aparece el control winsock en el menu de controles?
joeeeee soy un desastre
joeeeee soy un desastre
ME DEBO ESTAR QUEDANDO CIEGO PORQUE NO LO ENCONTRABA!!!JE,JE,JE
GRACIAS A TODOS POR VUESTRA AYUDA!
UN SALUDO
GRACIAS A TODOS POR VUESTRA AYUDA!
UN SALUDO
Proyecto-Componentes-Microsoft Winsock Control 6.0 (SP5)
o en su defecto la versión que tu tengas.
Saludos
sdemingo
o en su defecto la versión que tu tengas.
Saludos
sdemingo
