0

オンラインで見つけたコードを使用しているときに、ここに表示されているネットワークアダプターを読み取ろうとして います

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

現在、これら 4 つを含むデバイスのリストが表示されていますが、多数の非表示のデバイスと、接続されていないように見えるデバイスも表示されています。デフォルトでデバイス マネージャに表示されるものだけを表示するように検索を絞り込むにはどうすればよいですか?

4

1 に答える 1

0

別のフォーラムで私の回答を見つけましたが、リンクを再度見つけることができません。答えは次のとおりです。

  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

編集: for ループ内で、これらのチェックを実行して、接続されているデバイスに関する情報を見つけることもできます。

        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))
于 2016-06-06T19:06:01.717 に答える