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

js8bleu Messages postés 624 Statut Membre -  
jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   -
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.
Configuration: Windows XP
Firefox 3.5.1

13 réponses

  1. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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
  2. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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
  3. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. js8bleu Messages postés 624 Statut Membre 4
     
    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
  7. js8bleu Messages postés 624 Statut Membre 4
     
    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
  8. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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
  9. js8bleu Messages postés 624 Statut Membre 4
     
    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
  10. js8bleu Messages postés 624 Statut Membre 4
     
    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
  11. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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
  12. js8bleu Messages postés 624 Statut Membre 4
     
    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
  13. js8bleu Messages postés 624 Statut Membre 4
     
    Pourtant non, je t'assure qu'il ne s'appelle pas ainsi.
    0
  14. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    bizarre, chez moi ca marche...

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