2016-05-30 9 views
0

ich die Netzwerkadapter im Moment as seen here zu lesen versuche im Geräte-Manager Network Adapter Schnitt gesehen ich den Code verwende ich fand OnlineIn vb.net wie wollen Sie nicht verborgene Geräte lesen als

Sub Main() 
    Dim path As ManagementPath = New ManagementPath() 
    path.Server = "." 
    path.NamespacePath = "root\CIMV2" 
    Dim scope As ManagementScope = New ManagementScope(path) 
    Dim query As ObjectQuery = New ObjectQuery("SELECT * FROM Win32_NetworkAdapter") 
    Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(scope, query) 
    Dim queryCollection As ManagementObjectCollection = searcher.Get() 
    Dim m As ManagementObject 
    For Each m In queryCollection 
      Console.WriteLine("Device Name : {0}", m("Name")) 
    Next 
    Console.ReadLine() 
End Sub 

Im Moment sehe ich eine Liste von Geräten, die diese 4 enthalten, aber auch eine Reihe von versteckten Geräten und was aussieht wie Geräte, die nicht mehr verbunden sind. Wie optimiere ich meine Suche so, dass nur angezeigt wird, was der Gerätemanager standardmäßig anzeigt?

Antwort

0

Ich habe meine Antwort in einem anderen Forum gefunden, kann den Link aber nicht mehr finden. Hier ist die Antwort:

Dim moIP As ManagementObject 
    Dim myNet = New ManagementObjectSearcher _ 
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 
    Dim CountIncrement As Int16 = 1 
    For Each moIP In myNet.Get    
     Console.WriteLine() 
     'find device with MAC Address 
     If CStr(moIP("MACAddress")) = "00:11:22:33:44:55" Then 
      'code here 
     End If 
    Next 

Edit: innerhalb der for-Schleife können diese Kontrollen auch für die Suche nach Informationen über angeschlossene Geräte durchgeführt werden.

 Console.WriteLine("Device Name : {0}", moIP("Caption")) 
     Console.WriteLine("Service Name : {0}", moIP("ServiceName")) 
     Console.WriteLine("Description Name : {0}", moIP("Description")) 
     Console.WriteLine("MAC : {0}", moIP("MACAddress")) 
     Console.WriteLine(moIP("IPAddress")(0)) 
Verwandte Themen