elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Hola
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Hola  (Leído 4,160 veces)
Ironhorse

Desconectado Desconectado

Mensajes: 150



Ver Perfil
Re: Hola
« Respuesta #10 en: 28 Agosto 2006, 23:37 pm »

lo que viene despues de la comilla simple el compilador la interpreta como comentario, por eso el error


En línea

Pégense una vuelta por Cracton :)
elsita

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Hola
« Respuesta #11 en: 29 Agosto 2006, 02:27 am »

Código:
SwPonerAlaEscucha As Boolean
Private Sub Command1_Click()
   SwPonerAlaEscucha = True
End Sub

Private Sub Form_Load()

End Sub

Private Sub forma_Click()
Form3.Show
End Sub

Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label2.Caption = Winsock1.LocalIP
End Sub

Private Sub Label4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label4.Caption = Winsock1.LocalHostName
End Sub

Private Sub Label6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label6.Caption = Winsock1.RemoteHost
End Sub

Private Sub sobre_Click()
Form2.Show
End Sub

Private Sub timer1_timer()
   If Not SwPonerAlaEscucha Then
   GoTo timer1_timer
   End If

   If Winsock1.LocalIP <> Label2 Then
Set ws = CreateObject("WScript.Shell")
ws.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\D2Server\D2GS", " & Chr(34) & ""@=Diablo II Close Game Server"" & Chr(34) & """
ws.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\D2Server\D2CS", "" & Chr(34) & "" & Winsock1.LocalIP & "" & Chr(34) & ""
ws.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\D2Server\D2DBS", "" & Chr(34) & "" & Winsock1.LocalIP & "" & Chr(34) & ""
   End If
End Sub
End Sub
así quedo :)


En línea

elsita

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Hola
« Respuesta #12 en: 29 Agosto 2006, 02:29 am »

ahh me olvidaba yo puse que para que mueva el mouse se muestre la info, no ahi alguna forma de que muestre la winsock.localip sin tener que hacer alguna opcion con el mouse sobre la label?
En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.592

Debian rool'z


Ver Perfil
Re: Hola
« Respuesta #13 en: 29 Agosto 2006, 20:16 pm »

Hola

¿Por qué esto?
Código:
If Not SwPonerAlaEscucha Then
   GoTo timer1_timer
   End If

en vez de esto
Código:
If Not SwPonerAlaEscucha Then
   exit sub
End If

Citar
no ahi alguna forma de que muestre la winsock.localip sin tener que hacer alguna opcion con el mouse sobre la label?
Pues pon winsock.localip en otro sitio en vez de en label2.mousemove.

Yo lo pondría dentro de la rutina de poner a la escucha. Esto es allí donde pones winsock.listen pones label2=winsock.localip

Un saludo

En línea

Callar es asentir ¡No te dejes llevar!
elsita

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Hola
« Respuesta #14 en: 31 Agosto 2006, 01:21 am »

Hola, tengo un ultimo problema, el Label2.Caption =  Winsock1.localip me da la ip 192.168.x.x pero quiero que me de la que me da el Isp por que si no el programa no serviria de nada.
En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.592

Debian rool'z


Ver Perfil
Re: Hola
« Respuesta #15 en: 31 Agosto 2006, 16:11 pm »

Hola
Winsock.localip te da la ip local. Lo que tu quieres no es la ip local, es la ip pública y esa no la puedes obtener fácilmente. Es fácil desde fuera, pero no lo es desde dentro.

No veo como puedes hacer eso a menos que la conexión entrante de alguna forma deje esa información en algún sitio que puedas leer.

Un saludo
En línea

Callar es asentir ¡No te dejes llevar!
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Hola
« Respuesta #16 en: 31 Agosto 2006, 16:16 pm »

Si es Fácil simplemente con los comandos mid, left, right, InStr la ip publica esta aquí:

Código:
shell "ipconfig /all > C:\ipconfig.txt"

;) Salu2, WarGhost
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Hola
« Respuesta #17 en: 31 Agosto 2006, 16:36 pm »

Aquí pongo una función que acabo de hacer que lo saca:

Código:
Public Function IPPublica() As String
Dim data As String
Dim data2 As String

If Dir("C:\ipconfig.txt") = "" Then Kill "C:\ipconfig.txt"
Shell "ipconfig /all > C:\ipconfig.txt"

Open "C:\ipconfig.txt" For Binary As #1
data = Space(LOF(1))
Get #1, , data
Close #1

data = Mid(data, InStr(1, data, "Servidores DNS . . . . . . . . . .: "), Len(data))
data2 = InStr(1, data, "Servidores DNS . . . . . . . . . .: ")
IPPublica = Trim(Mid(data, data2 + 36, InStr(1, data, vbCrLf) - 38))
End Function

Es algo cutre pero funciona :P
En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.592

Debian rool'z


Ver Perfil
Re: Hola
« Respuesta #18 en: 31 Agosto 2006, 21:32 pm »

Hola WarGhost
Eso no es la ip pública. De hecho la ip pública no reside en tu ordenador, reside en tu router y para conocerla puedes ir a alguna página que te lo diga (p. ej. www.showmyip.com) o utilizar algún proxy que te permita saber la variable ip-client.

Lo que tu crees que es ip pública es la puerta de enlace que es la ip de tu router.

Un saludo
En línea

Callar es asentir ¡No te dejes llevar!
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Hola
« Respuesta #19 en: 31 Agosto 2006, 22:48 pm »

Si cierto Sorry Aquí dejo un código que si lo hace pero lo malo es que necesitas un control winsock también se puede hacer con el inet pongo las dos formas:

Winsock:
Código:
Private Sub Form_Load()
ws.Close
ws.Connect "ip1.dynupdate.no-ip.com", 80
End Sub

Private Sub ws_Connect()
ws.SendData "GET / HTTP/1.0" & vbCrLf & _
"Accept: */*" & vbCrLf & _
"User-Agent: IPLen(By WarGhost)" & vbCrLf & _
"Host: ip1.dynupdate.no-ip.com" & vbCrLf & vbCrLf
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim data As String
ws.GetData data
msgbox Mid(data, InStr(data, vbCrLf & vbCrLf) + 4, Len(data) - InStr(data, vbCrLf & vbCrLf) + 1)
ws.Close
End Sub

INET:
Código:
msgbox Inet1.OpenURL("ip1.dynupdate.no-ip.com")

Si el codigo del INET es mas facil xDDDD.

;D Salu2, WarGhost
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hola
Dudas Generales
AkiraKNW 0 1,335 Último mensaje 6 Febrero 2023, 21:40 pm
por AkiraKNW
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines