Connaitre mon adresse ip et le nom d'ordinateur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 939 fois - Téléchargée 29 fois

Contenu du snippet

module:
Public Type HOSTENT
hName As Long
haliases As Long
hAddrtype As Integer
hLength As Integer
hAddrList As Long
End Type
'
Public Type WSADATA
wVersion As Integer
wHighVersion As Integer
szDescription(0 To 256) As Byte
szSystemStatus(0 To 128) As Byte
iMaxsockets As Integer
iMaxUpDg As Integer
lpszVendorInfo As Long
End Type
'
Public Declare Function WSAStartup Lib "wsock32.dll" _
(ByVal wVersion&, lpWSAData As WSADATA) As Long
Public Declare Function WSACleanup Lib "wsock32.dll" () As Long
Public Declare Function gethostname Lib "wsock32.dll" _
(ByVal HostName As String, ByVal HostLen As Integer) As Long
Public Declare Function gethostbyname Lib "wsock32.dll" _
(ByVal HostName As String) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Dest As Any, ByVal source As Long, _
ByVal cbCopy As Long)


Public Const SOCKET_ERROR = -1
'
Public Type IPtype
Nom As String * 256
AdresseIP As String * 64
End Type

Public Function ObtenirAdresseIP() As IPtype
Dim WSAD As WSADATA
Dim Host As HOSTENT
Dim RetVal As Long
Dim Nom As String * 256
Dim Adresse As Long
Dim IPadr As String
Dim Temp() As Byte
'
RetVal = WSAStartup(&H101, WSAD)
If RetVal <> 0 Then
MsgBox "Winsock.dll ne répond pas"
ObtenirAdresseIP.Nom = ""
ObtenirAdresseIP.AdresseIP = ""
Exit Function
End If

If gethostname(Nom, Len(Nom)) = SOCKET_ERROR Then
MsgBox "Erreur Winsock"
ObtenirAdresseIP.Nom = ""
ObtenirAdresseIP.AdresseIP = ""
Exit Function
End If
Adresse = gethostbyname(Nom)
If Adresse = 0 Then
MsgBox "Winwock.dll ne repond pas"
ObtenirAdresseIP.Nom = ""
ObtenirAdresseIP.AdresseIP = ""
Exit Function
End If

'
CopyMemory Host, Adresse, Len(Host)
CopyMemory Adresse, Host.hAddrList, 4
'
ReDim Temp(1 To Host.hLength)
'
CopyMemory Temp(1), Adresse, Host.hLength
'
For i% = 1 To Host.hLength
IPadr = IPadr & Temp(i%) & "."
Next i%
'
IPadr = Left$(IPadr, Len(IPadr) - 1)
ObtenirAdresseIP.Nom = Nom
ObtenirAdresseIP.AdresseIP = IPadr
RetVal = WSACleanup()
End Function

Form_Load()

Private Sub Form_Load()
Dim Adr As IPtype
Dim Nom As String
Dim Adresse As String
'
Adr = ObtenirAdresseIP
'
p% = InStr(Adr.Nom, Chr$(0))
If p% <> 0 Then
Nom = "Nom = " & Left$(Adr.Nom, p% - 1)
Adresse = Trim$(Adr.AdresseIP)
MsgBox Nom & vbCrLf & "Adresse IP = " & Adresse
End If
End Sub

A voir également

Ajouter un commentaire

Commentaires

cs_miata
Messages postés
86
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
19 août 2008
-
Heuu ... pour le nom de l'ordinateur, tu peu pas faire plus simple ??

Environ("COMPUTERNAME")

lol
guil2004
Messages postés
4
Date d'inscription
mercredi 24 mars 2004
Statut
Membre
Dernière intervention
21 février 2005
-
Merci , je cherchais justement ça...
cs_Arknoth
Messages postés
96
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
22 août 2004
-
hmm chipotage chipotage : pitié, mettez votre code ds un module ou ds un projet (un zip koi nom d'un chien :p ), la zone commentaire C pr le papotage ^-^
FearBlue
Messages postés
149
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
26 octobre 2008
-
Regardez avant de poster des sources
Cette existe existe deja en dizaine d'exmplaires sur ce site
@+

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.