Récolter la bonne ip (pour aol)

Contenu du snippet

Voila donc cher abonnés a aol, voici la bonne source pour bien trouver l' ip qui commence par 172... Je remerci a CERF4 de bien m' avoir dit que c' était la source: RECUPERER TOUTES LES ADRESSES IP DE LA MACHINE
RUBRIQUE, parce que j' était pas sur, et finalement avec quelques modfication on peut trouvé la bonne ip pour les abonnés d' aol. VOila quoi, je sais que c' est pas grand chose mais bon...

Source / Exemple :


'********************
'*Dans un module:   *
'********************
Public Type RESUL_IP
IPAdr As String
IPMask As String
Interface_Nbre As String
End Type

Public Type DBYTE
unused1 As Byte
unused2 As Byte
End Type

Public Type MIB_IPADDRROW
dwAddr As Long ' IP address
dwIndex As Long ' interface index
dwMask As Long ' subnet mask
dwBCastAddr As Long ' broadcast address
dwReasmSize As Long ' rassembly size
unused1 As DBYTE ' not currently used
unused2 As DBYTE ' not currently used
End Type

Public Type MIB_IPADDRTABLE
dwNumEntries As Long
table(400) As MIB_IPADDRROW
End Type

' recupere le nombre d'interface sur le pc
Public Declare Function GetNumberOfInterfaces Lib "iphlpapi.dll" _
(ByRef PDWORD As Long) As Long

' recupere les adresses IP de la machine
Public Declare Function GetIpAddrTable Lib "iphlpapi.dll" _
(ByRef pIpAddrTable As MIB_IPADDRTABLE, _
ByRef pdwSize As Long, _
bOrder As Boolean) As Long
Public Function FIRST_IPADDRESS(ByVal ipAddress As Long) As Long
FIRST_IPADDRESS = Val("&H" & Left(Right("00000000" & Hex(ipAddress), 8), 2))
End Function
Public Function SECOND_IPADDRESS(ByVal ipAddress As Long) As Long
SECOND_IPADDRESS = Val("&H" & Mid(Right("00000000" & Hex(ipAddress), 8), 3, 2))
End Function
Public Function THIRD_IPADDRESS(ByVal ipAddress As Long) As Long
THIRD_IPADDRESS = Val("&H" & Mid(Right("00000000" & Hex(ipAddress), 8), 5, 2))
End Function
Public Function FOURTH_IPADDRESS(ByVal ipAddress As Long) As Long
FOURTH_IPADDRESS = Val("&H" & Right("00" & Hex(ipAddress), 2))
End Function
Function recup_ip(Num_interface As Long) As RESUL_IP
'recupere l'adresse ip de l'interface passée en paramettre
Dim toto1 As MIB_IPADDRTABLE
Dim toto2 As Long
toto2 = 400
yop1 = GetIpAddrTable(toto1, toto2, True)
recup_ip.IPAdr = FOURTH_IPADDRESS(toto1.table(Num_interface).dwAddr) & "." & _
THIRD_IPADDRESS(toto1.table(Num_interface).dwAddr) & "." & _
SECOND_IPADDRESS(toto1.table(Num_interface).dwAddr) & "." & _
FIRST_IPADDRESS(toto1.table(Num_interface).dwAddr)
recup_ip.IPMask = FOURTH_IPADDRESS(toto1.table(Num_interface).dwMask) & "." & _
THIRD_IPADDRESS(toto1.table(Num_interface).dwMask) & "." & _
SECOND_IPADDRESS(toto1.table(Num_interface).dwMask) & "." & _
FIRST_IPADDRESS(toto1.table(Num_interface).dwMask)
recup_ip.Interface_Nbre = toto1.table(Num_interface).dwIndex
End Function

'*********************
'*Dans votre feuille:*
'*********************
Private Sub Command1_Click()
    Dim cpt As Long
    Dim Resultat_IP As String
    For cpt = 3 To Val(Test) - 1
        Resultat_IP = Resultat_IP & "Adresse IP" & cpt + 1 & " : " & recup_ip(cpt).IPAdr & vbcrl
    Next cpt
    MsgBox Resultat_IP
End Sub
Function Test() As Long
    ' recupere le nombre d'interface de la machine
    yop = GetNumberOfInterfaces(4)
    If yop = 0 Then
        Test = 4
    End If
End Function

Conclusion :


Voila c' est tout, je sais que c' est rien mais bon...lol, si vous avez des truck mieu a dire ou des défault vous pouvez toujours laisser un msg biensure, lol, bye !

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.