Comment récupérer l'@IP, l'@mac d'un PC?

Fermé
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 10 août 2009 à 22:18
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 11 août 2009 à 19:08
Bonjour à tous,

j'aimerai savoir comment récupérer l'@ip, l'@mac et le nom d'une machine avec Visual Basic 6.0 s'il vous plaît. Quelqu'un pourrait-il m'aider s'il vous plaît? Merci d'avance.

Cordialement.

13 réponses

jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
11 août 2009 à 13:05
re :)

met ca au tout debut des declaration :
Private Const MAX_COMPUTERNAME_LENGTH As Long = 31
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Command1_Click()

Dim dwLen As Long
Dim strString As String

On Error Resume Next
Set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")
If Err.Number <> 0 Then
montexte = " - non accessible -"
Else

text1.text = IPConfig.IPAddress(0)
text2.text= IPConfig.MACAddress
End If

'Create a buffer
dwLen = MAX_COMPUTERNAME_LENGTH + 1
strString = String(dwLen, "X")
'Get the computer name
GetComputerName strString, dwLen
'get only the actual data
strString = Left(strString, dwLen)
'Show the computer name

text3.text= strString

End Sub
1
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
11 août 2009 à 13:50
si il n y a qu une carte réseau de configurée alors :

Private Const MAX_COMPUTERNAME_LENGTH As Long = 31
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Command1_Click()

Dim dwLen As Long
Dim strString As String

On Error Resume Next
Set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")
If Err.Number <> 0 Then
montexte = " - non accessible -"
Else

For Each IPConfig In IPConfigSet ' si plusieurs carte réseaux
'montexte = ""
'montexte = montexte & " adresse MAC " & vbTab & " : " & IPConfig.MACAddress & vbCrLf & _
'" adresse IP " & vbTab & " : " & IPConfig.IPAddress(0)
If IPConfig.IPAddress(0) <> "0.0.0.0" Then
Text1.Text = IPConfig.MACAddress
Text2.Text = IPConfig.IPAddress(0)
End If
Next

End If

'Create a buffer
dwLen = MAX_COMPUTERNAME_LENGTH + 1
strString = String(dwLen, "X")
'Get the computer name
GetComputerName strString, dwLen
'get only the actual data
strString = Left(strString, dwLen)
'Show the computer name

Text3.Text = strString

End Sub
1
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
11 août 2009 à 18:59
ben je pense que je suis regret de te dire que ta machine s appelle "X" :p

pour vérifier :
clicque de droit sur 'poste de travail', proprietes, vas dans l onglet nom de l ordinateur..

clique sur modifier si tu veux changer ton "X" :p
1
Utilisateur anonyme
10 août 2009 à 22:33
Salut,

Essaies ce code :

on error resume next 
set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).ExecQuery _ 
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE") 
If Err.Number<>0 Then 
wscript.echo " - non accessible -" 
Else 
for each IPConfig in IPConfigSet 
wscript.echo " adresse MAC " & vbtab & " : " & IPConfig.MACAddress & vbcrlf & _ 
" adresse IP " & vbtab & " : " & IPConfig.IPAddress(0)
Next 
End If


A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
10 août 2009 à 23:04
Bonjour et Merci H4RDW4RE pour ton aide. Comment et où (textbox?) dois-je récuupérer les différentes adresses s'il te plaît? Merci d'avance.

Cordialement.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
10 août 2009 à 23:39
J'ai créé une form avec un bouton de commande et j'y ai mis ton code mais quand je l'exécute rien ne se passe. Ai-je bien procédé? Merci d'avance.

Cordialement.
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
11 août 2009 à 08:24
bonjour..

en fait il ta donner du code qui s'ecrit dans la console, donc c'est normal que tu vois rien :)

Dim montexte As String
Private Sub Command1_Click()

On Error Resume Next
Set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")
If Err.Number <> 0 Then
montexte = " - non accessible -"
Else

For Each IPConfig In IPConfigSet ' si plusieurs carte réseaux
montexte = montexte & " adresse MAC " & vbTab & " : " & IPConfig.MACAddress & vbCrLf & _
" adresse IP " & vbTab & " : " & IPConfig.IPAddress(0)
Next
End If

MsgBox montexte

End Sub


la un beau ptit message apparait ;)
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
11 août 2009 à 11:41
Bonjour et Merci jjsteing pour ton aide. Ca marche à présent mais chaque fois que je clique sur le bouton command1 il m'affiche encore une fois les infos, c'est-à dire que si je clique 3 fois sur le bouton command1 il va m'afficher les informations 3 fois. Sais-tu comment régler ce problème s'il te plaît? En fait j'aimerai récupérer l'@IP dans text1; l'@Mac dans text2 et le nom de la machine dans text3. Merci d'avance.

Cordialement.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
11 août 2009 à 13:27
Vraiment Merci jjsteing pour le temps que tu me consacres. ça ne marche malheureusement pas. Il n'affiche rien dans text1 et text2 et dans text3 il affiche "X". Merci d'avance.

Cordialement.
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
11 août 2009 à 13:47
c'est vrai.. ca bug.. désolé..

je peux te trouver une solution, mais le proble c'est si il y a plus d une carte réseau.. ca merde :s
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
11 août 2009 à 18:55
Merci jjsteing pour ton intérêt. Tout marche sauf le nom de la machine qui affiche toujours "X". Merci d'avance pour ton aide.

NB : J'ai trois (3) interfaces réseaux.

Cordialement.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
11 août 2009 à 19:07
Pourtant non, je t'assure qu'il ne s'appelle pas ainsi.
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
11 août 2009 à 19:08
bizarre, chez moi ca marche...

quelqu un d autre a tester le code svp ???
0