Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: VampireLord en 8 Mayo 2012, 00:40 AM

Título: Imagen conforme a una IP
Publicado por: VampireLord en 8 Mayo 2012, 00:40 AM
¡Hola! Pues estuve buscando un poco, y como sólamente encontré un ejemplo que me podía servir,
que por cierto, no funcionó por que no tenía unos componentes que sabe dios dónde se consiguen,
vengo a preguntarles acerca del siguiente caso:

Tengo un programa, que "obtiene" varios IPs, entonces, quiero que cada vez que él detecte uno,
saque una banderita del país perteneciente.. pero no sé cómo lograr ésto. Manejo la API del Winsock,
por que el componente de éste es un asco xD

¿Alguien tiene alguna idea? Por cierto, el lugar donde se cargue la imagen de la banderita, es en un TreeView.

Espero que me puedan ayudar, ¡Saludos! :)
Título: Re: Imagen conforme a una IP
Publicado por: Elemental Code en 8 Mayo 2012, 03:22 AM
podes sacar la ip con algo como

http://www.geoiptool.com/
Título: Re: Imagen conforme a una IP
Publicado por: VampireLord en 8 Mayo 2012, 03:53 AM
Ahmm, creo que no me expliqué muy bien, amigo, perdona D:
Pues enrealidad, sacar la IP no es un problema, por que es un troyano xD

Lo que pasa, es que no sé cómo sacar rangos entre IPs para determinar
el país a donde pertenece una, y así, determinarle una imagen de una
banderita a cada uno xD

Saludos :)
Título: Re: Imagen conforme a una IP
Publicado por: Graphixx en 8 Mayo 2012, 04:49 AM
Aca tenes lo de las banderas, incluyendo las banderas en gif, los rangos, etc
http://foro.elhacker.net/php/super_contador_de_visitas_en_php300mb_sql4_millones_de_registrosscripts-t315327.0.html
Título: Re: Imagen conforme a una IP
Publicado por: Elemental Code en 9 Mayo 2012, 01:53 AM
yo escribi mal.

Es facil, pones la ip en la pag y la localiza.
Pero porque no usas el idioma del teclado, o el del windows?
o el de google?
Título: Re: Imagen conforme a una IP
Publicado por: Deeo Raiser en 9 Mayo 2012, 09:26 AM
Cada pais posee un rango de IP, este rango solo se puede comparar en una base de datos. ACA (http://www.recursosvisualbasic.com.ar/htm/utilidades-codigo-fuente/ip-finder.htm) te dejo algo que te puede dar una mano.

PD: Armate de paciencia.

Saludos
Título: Re: Imagen conforme a una IP
Publicado por: LeandroA en 10 Mayo 2012, 02:49 AM
Hola mira estas dos funciones
Código (vb) [Seleccionar]

Option Explicit
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long

Private Const LOCALE_USER_DEFAULT       As Long = &H400
Private Const LOCALE_SENGCOUNTRY        As Long = &H1002
Private Const LOCALE_SENGLANGUAGE       As Long = &H1001
Private Const LOCALE_SNATIVELANGNAME    As Long = &H4
Private Const LOCALE_SNATIVECTRYNAME    As Long = &H8
Private Const LOCALE_SISO3166CTRYNAME   As Long = &H5A

Public Function GetCountryCode() As String
    Dim sBuffer As String * 100
    GetLocaleInfo LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, sBuffer, 10
    GetCountryCode = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
End Function

Public Function GetCountry() As String
    Dim sBuffer As String * 100
   
    If GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGCOUNTRY, sBuffer, 100) Then
        GetCountry = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
    End If
End Function


Private Sub Form_Load()
MsgBox GetCountryCode & vbCrLf & GetCountry
End Sub


fijate que la funcion GetCountryCode retorna una abreviatura del paiz, que es recogida de la configuración local, entonces tenes que conseguirte las imagenes banderas con sus respectivos nombres y luego segun el caso mostras tal bandera.

Saludos.
Título: Re: Imagen conforme a una IP
Publicado por: noele1995 en 13 Mayo 2012, 21:51 PM
Lo vi y me interese  ;D ;D jejeje asique he hecho algo en base a codigos de LeandroA para quien le sirva ahi vá.

https://rapidshare.com/files/2759427725/BanderaSegunPais.rar (https://rapidshare.com/files/2759427725/BanderaSegunPais.rar)
Título: Re: Imagen conforme a una IP
Publicado por: VampireLord en 14 Mayo 2012, 07:47 AM
Wow, muchas gracias a todos por sus comentarios :)

Bien, creo que ya tengo bastante para continuar mi proyecto,
ya que todos me ayudaron bastante.

Leandro, acabas de dar un aporte buenísimo, que yo considero
que deberían de poner talvez en tutoriales, adjuntándole el
ejemplo que nos facilitó Noele1995.

Ahmm.. duda resulta, ya pueden cerrar el tema para que no
hagan spam, etc, etc, etc.

¡Saludos y gracias!
Título: Re: Imagen conforme a una IP
Publicado por: extreme69 en 15 Mayo 2012, 00:50 AM
Cita de: LeandroA en 10 Mayo 2012, 02:49 AM
Hola mira estas dos funciones
Código (vb) [Seleccionar]

Option Explicit
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long

Private Const LOCALE_USER_DEFAULT       As Long = &H400
Private Const LOCALE_SENGCOUNTRY        As Long = &H1002
Private Const LOCALE_SENGLANGUAGE       As Long = &H1001
Private Const LOCALE_SNATIVELANGNAME    As Long = &H4
Private Const LOCALE_SNATIVECTRYNAME    As Long = &H8
Private Const LOCALE_SISO3166CTRYNAME   As Long = &H5A

Public Function GetCountryCode() As String
    Dim sBuffer As String * 100
    GetLocaleInfo LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, sBuffer, 10
    GetCountryCode = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
End Function

Public Function GetCountry() As String
    Dim sBuffer As String * 100
   
    If GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGCOUNTRY, sBuffer, 100) Then
        GetCountry = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
    End If
End Function


Private Sub Form_Load()
MsgBox GetCountryCode & vbCrLf & GetCountry
End Sub


fijate que la funcion GetCountryCode retorna una abreviatura del paiz, que es recogida de la configuración local, entonces tenes que conseguirte las imagenes banderas con sus respectivos nombres y luego segun el caso mostras tal bandera.

Saludos.

Con esté código se puede dar que el usuario tenga el windows en 1 idioma o seteado con X país y sin embargo realmente estar en otro país, en mi caso te aparecería que soy de Argentina, pero soy de Uruguay.

Yo ya intenté hacer esto hace rato y si, terminé usando el mismo código porque no me dió la paciencia, pero se puede conseguir una lista de rangos de ip's y en base a eso armar tu propia base de datos con rangos de países conocidos, y bueno, para los rangos desconocidos si usar el código de Leandro.