Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: rapbyone en 7 Julio 2014, 09:15 am



Título: Problema con Winsock
Publicado por: rapbyone en 7 Julio 2014, 09:15 am
amigos, tengo el siguiente problema, tengo el siguiente codigo que me muestra la IP al presionar un botón, funciona sin problemas:

Código:
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


Título: Re: Problema con Winsock
Publicado por: 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
  1. Private Function getip() As String
  2.    Dim objShell, objCmdExec
  3.    Set objShell = CreateObject("WScript.Shell")
  4.    Set objCmdExec = objShell.exec("ipconfig")
  5.    getCommandOutput = objCmdExec.StdOut.ReadAll
  6.    Set objShell = Nothing
  7.    Set objCmdExec = Nothing
  8.  
  9.    Dim lineas() As String
  10.    lineas = Split(getCommandOutput, vbNewLine)
  11.    For x = 0 To UBound(lineas)
  12.        If InStr(lineas(x), "Direcc") Then Exit For
  13.    Next
  14.    getip = Trim(Split(lineas(x), ":")(1))
  15. End Function


GRACIAS POR LEER!!!


Título: Re: Problema con Winsock
Publicado por: rapbyone en 7 Julio 2014, 20:26 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
  1. Private Function getip() As String
  2.    Dim objShell, objCmdExec
  3.    Set objShell = CreateObject("WScript.Shell")
  4.    Set objCmdExec = objShell.exec("ipconfig")
  5.    getCommandOutput = objCmdExec.StdOut.ReadAll
  6.    Set objShell = Nothing
  7.    Set objCmdExec = Nothing
  8.  
  9.    Dim lineas() As String
  10.    lineas = Split(getCommandOutput, vbNewLine)
  11.    For x = 0 To UBound(lineas)
  12.        If InStr(lineas(x), "Direcc") Then Exit For
  13.    Next
  14.    getip = Trim(Split(lineas(x), ":")(1))
  15. End Function


GRACIAS POR LEER!!!

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


Título: Re: Problema con Winsock
Publicado por: 79137913 en 7 Julio 2014, 20:33 pm
HOLA!!!

 :¬¬

Posta...

Deberias revisar tus bases...

Código
  1. Text1.text = GetIP()

GRACIAS POR LEER!!!


Título: Re: Problema con Winsock
Publicado por: rapbyone en 7 Julio 2014, 20:40 pm
HOLA!!!

 :¬¬

Posta...

Deberias revisar tus bases...

Código
  1. Text1.text = GetIP()

GRACIAS POR LEER!!!

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



Título: Re: Problema con Winsock
Publicado por: rapbyone en 7 Julio 2014, 20:50 pm
lo ultimo, hay alguna forma de que la ventana de MS DOS se ejecute en segundo plano???


Título: Re: Problema con Winsock
Publicado por: 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!!!


Título: Re: Problema con Winsock
Publicado por: rapbyone en 7 Julio 2014, 21:07 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.