Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2021
    Messaggi
    3

    [VB.NET] Recuperare MAC Address di tutte le schede presenti

    Ciao a tutti,
    avrei un problema legato al MAC Address, con le mie conoscenze di VB riesco a recuperare il MAC Address del pc ma solo della scheda di rete connessa e non di tutte le schede di rete presenti, potete gentilmente suggerirmi come risolvere il problema?
    Spero non ci sia già stata una discussione simile.

    Grazie in anticipo.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,200
    Sposto la discussione nel forum dedicato a VB.
    Devi dire quale versione di VB usi.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    243
    Mostraci il codice che utilizzi,
    perchè per calcolare il MAC della scheda connessa devi (in teoria) fare la scansione di tutte le schede presenti (reali o virtuali) per cui in teoria dovresti già avere disponibile una lista di schede di rete

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,360
    Non hai fatto nessuna ricerca su Google? E' pieno di suggerimenti e soluzioni ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2021
    Messaggi
    3
    Ragazzi grazie per le risposte, di seguito il codice che sto usando. La versione di VB è quella presente in Visual Studio 2019.

    Dim manc As ManagementClass
    Dim mobj As ManagementObject
    manc = New ManagementClass("Win32_NetworkAdapterConfiguration ")
    Dim mocl As ManagementObjectCollection = manc.GetInstances()
    For Each mobj In mocl
    If mobj.Item("IPEnabled") = True Then
    MsgBox("MAC: " & mobj.Item("MacAddress").ToString())
    End If
    Next

    Se imposto la condizione a "False" mi mostra molti codici e non solo quelli delle schede di rete.

    Su google non sono riuscito a trovare molto.

    Grazie in anticipo per l'aiuto

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2021
    Messaggi
    3
    Scusate, in rete ho trovato questo codice che mi riposta i vari mac address oltre che altre informazioni sulle schede di rete, il problema è che io ho 2 schede (1 ethernet e 1 wifi) ma mi mostra anche le schede virtuali di microsoft.

    Dim nics() As NetworkInterface = NetworkInterface.GetAllNetworkInterfaces()
    For Each nic In nics
    MsgBox(nic.GetPhysicalAddress.ToString)
    MsgBox(nic.Name.ToString)
    MsgBox(nic.Description.ToString)
    Next

    Grazie ancora.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    243
    Prova questo codice:
    codice:
        Private Function MACs() As List(Of String)
    
            Dim lst As New List(Of String)
    
            For Each nic As NetworkInterface In NetworkInterface.GetAllNetworkInterfaces
                If (nic.NetworkInterfaceType = NetworkInterfaceType.Ethernet _
                    Or nic.NetworkInterfaceType = NetworkInterfaceType.Wireless80211) And _
                    Not nic.Description.Contains("Virtual") And Not nic.Description.Contains("Pseudo") Then
    
                    lst.Add(nic.GetPhysicalAddress.ToString & " " & nic.Description)
                End If
            Next
    
            Return lst
    
        End Function
    Ultima modifica di SirJo; 25-10-2021 a 22:49

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.