2011-02-24 83 views
1

我試圖從NIC卡獲取tcp/ip信息和物理信息。我有兩個查詢(從win_32 NetworkAdapter和win32_NetworkAdapterConfiguration)但我想加入他們在一起,所以我可以從一個組合框中選擇一個特定的網卡,並獲得兩組信息。使用win32_NetworkAdapterSettings查詢特定的NIC。 C#

我被告知我可以使用win_32 NetworkAdaptersetting但我很新的東西,所以我不知道如何!它必須在C#中。

MANT感謝(香港專業教育學院一直在這12個小時!)

回答

1

下面是一個例子:

using System; 
using System.Management; 

namespace WMITest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ManagementObjectSearcher searcher = 
       new ManagementObjectSearcher(
        "Select * From Win32_NetworkAdapter"); 

      foreach (ManagementObject adapter in searcher.Get()) 
      { 
       Console.WriteLine(adapter["Name"]); 

       foreach(ManagementObject configuration in 
        adapter.GetRelated("Win32_NetworkAdapterConfiguration")) 
       { 
        Console.WriteLine(configuration["Caption"]); 
       } 

       Console.WriteLine(); 
      } 
     } 
    } 
} 
+0

OK,現在顯示一個小白我是浩wmuch!我是否應該創建該類,然後從我的主類中查詢它? :P – 2011-02-25 17:53:44

+1

不,在這個例子中,我首先使用ManagementObjectSearcher來獲取Win32_NetworkAdapter的所有實例。它返回一組代表Win32_NetworkAdapter實例的ManagementObject實例。您可以使用其他方法來獲取ManagementObject實例,但始終可以使用ManagementObject.GetRelated()來獲取關聯的WMI對象(在本例中爲Win32_NetworkAdapterConfiguration的實例)。在任何情況下,一旦您將Win32_NetworkAdapter實例作爲ManagementObject獲取,您就可以使用GetRelated()獲取關聯的實例。 – 2011-02-26 17:41:28

+0

該死的我笨!謝謝你,我用'ASSOCIATORS OF'得到了我想要的東西,但這似乎是一個更加優雅和靈活的解決方案。 – 2011-02-26 18:54:57