Connaitre son Ip Internet ???

zorglob Messages postés 6 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 24 juin 2003 - 13 janv. 2003 à 14:39
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 - 13 janv. 2003 à 14:48
Salut tout le monde !

bon apres avoir parcouru tout le forum et les exemple de code, je n'ai pas encore trouve un moyen de recuperer a coup sur son adresse IP internet. J'ai trouve un exemple qui utilse les API mais je recupere a chaque fois 3 adresses : 2 locales et une qui correspond a mon adresse ip internet seulement comment faire la disctinction pour recuperer l'ip internet ??

Sachant que je suis sous XP et qu'il s'agirait toujours d'une connection internet direct via modem RTC ou ADSL.

Voila un bout du fameux code :

Option Explicit

Dim vbString, IP As String
Dim StrEnd, a As Integer

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Public Const INTERNET_OPEN_TYPE_DIRECT = 1
Public Const INTERNET_OPEN_TYPE_PROXY = 3

Public Const scUserAgent = "VB OpenUrl"
Public Const INTERNET_FLAG_RELOAD = &H80000000

Sub Download(URL As String)

Dim hOpen As Long
Dim hOpenUrl As Long
Dim bDoLoop As Boolean
Dim bRet As Boolean
Dim sReadBuffer As String * 2048
Dim lNumberOfBytesRead As Long
Dim sBuffer As String

hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
hOpenUrl = InternetOpenUrl(hOpen, URL, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)

bDoLoop = True
While bDoLoop
sReadBuffer = vbNullString
bRet = InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead)
sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
If Not CBool(lNumberOfBytesRead) Then bDoLoop = False
Wend

vbString = sBuffer
vbString = Mid(vbString, InStr(vbString, "IP :") + 5, 20)
StrEnd = InStr(vbString, " ") - 1

For a = 1 To StrEnd
IP = IP + Mid(vbString, a, 1)
Next

FrmMyIP.TxtIP.Text = IP

If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl)
If hOpen <> 0 Then InternetCloseHandle (hOpen)

End Sub

D'avance merci !!

1 réponse

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
13 janv. 2003 à 14:48
Hier qq'1 a mis un code la dessus il me semble, regarde, il me semblait fonctionner

A++

Crazyht :)
0
Rejoignez-nous