Problema con Winsock

Iniciado por rapbyone, 7 Julio 2014, 09:15 AM

0 Miembros y 1 Visitante están viendo este tema.

rapbyone

amigos, tengo el siguiente problema, tengo el siguiente codigo que me muestra la IP al presionar un botón, funciona sin problemas:

Private Sub Command1_Click()
Winsock1.RemoteHost = Winsock1.LocalHostName
MsgBox Winsock1.LocalIP
End Sub


El problema se da cuando cambio la IP local (desconecto el cable de red y me conecto por wifi) al presionar el botón, sigue mostrando la misma IP local, y no la actualizar, hasta que cierre y habrá la aplicación.

¿Como actualizo lo que muestre Winsco?
¿Hay algún otro método para mostrar la IP?

gracias amigos :D

79137913

HOLA!!!

Tengo entendido que la propiedas localip se actualiza cuando se cambia el ip, pero si eso no te satisface podrias leer la salida de IPCONFIG.

Este es un codigo de ejemplo de como leer la salida de ip config para un windows en español y devolver el ip

Código (vb) [Seleccionar]
Private Function getip() As String
    Dim objShell, objCmdExec
    Set objShell = CreateObject("WScript.Shell")
    Set objCmdExec = objShell.exec("ipconfig")
    getCommandOutput = objCmdExec.StdOut.ReadAll
    Set objShell = Nothing
    Set objCmdExec = Nothing
   
    Dim lineas() As String
    lineas = Split(getCommandOutput, vbNewLine)
    For x = 0 To UBound(lineas)
        If InStr(lineas(x), "Direcc") Then Exit For
    Next
    getip = Trim(Split(lineas(x), ":")(1))
End Function



GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

rapbyone

Cita de: 79137913 en  7 Julio 2014, 17:34 PM
HOLA!!!

Tengo entendido que la propiedas localip se actualiza cuando se cambia el ip, pero si eso no te satisface podrias leer la salida de IPCONFIG.

Este es un codigo de ejemplo de como leer la salida de ip config para un windows en español y devolver el ip

Código (vb) [Seleccionar]
Private Function getip() As String
    Dim objShell, objCmdExec
    Set objShell = CreateObject("WScript.Shell")
    Set objCmdExec = objShell.exec("ipconfig")
    getCommandOutput = objCmdExec.StdOut.ReadAll
    Set objShell = Nothing
    Set objCmdExec = Nothing
   
    Dim lineas() As String
    lineas = Split(getCommandOutput, vbNewLine)
    For x = 0 To UBound(lineas)
        If InStr(lineas(x), "Direcc") Then Exit For
    Next
    getip = Trim(Split(lineas(x), ":")(1))
End Function



GRACIAS POR LEER!!!

Amigo, gracias por tu respuesta, disculpa la ignorancia, como utilizo la función para mostrarla en un textbox???

79137913

HOLA!!!

:¬¬

Posta...

Deberias revisar tus bases...

Código (vb) [Seleccionar]
Text1.text = GetIP()

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

rapbyone

Cita de: 79137913 en  7 Julio 2014, 20:33 PM
HOLA!!!

:¬¬

Posta...

Deberias revisar tus bases...

Código (vb) [Seleccionar]
Text1.text = GetIP()

GRACIAS POR LEER!!!

Justamente lo había conseguido, iba a editar el tema
muchas, pero muchas gracias estimado


rapbyone

lo ultimo, hay alguna forma de que la ventana de MS DOS se ejecute en segundo plano???

79137913

HOLA!!!

Hay mil maneras de hacerlo, pero el metodo que te coloque ahi no puede por que exec no puede ser en hidemode.

Busca, interiorizate aprende , que parece que te falta.

No te doy la respuesta para que puedas aprender mas.

Mucha suerte.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

rapbyone

Cita de: 79137913 en  7 Julio 2014, 21:01 PM
HOLA!!!

Hay mil maneras de hacerlo, pero el metodo que te coloque ahi no puede por que exec no puede ser en hidemode.

Busca, interiorizate aprende , que parece que te falta.

No te doy la respuesta para que puedas aprender mas.

Mucha suerte.

GRACIAS POR LEER!!!

Gracias de todas maneras amigos, es verdad estoy recién aprendiendo, me salto la sintaxis de vb6, he aprendido mucho pero a través de ensayo y error, en fin.