2012-06-20 16 views
5

परफ़ॉर्मेंस काउंटर ipconfig करने के लिए विभिन्न एनआईसी नाम का उपयोग किया जाता है की तुलना/सब और ग # सिस्टम कॉल आप नीचे देख सकते हैं (इस ipconfig से है/सब)सी # प्रदर्शन काउंटर और nic नाम

Ethernet adapter HHHH:  

    Connection-specific DNS Suffix . : 

    Description . . . . . . . . . . . : HP NC364T PCIe Quad Port Gigabit Server Adapter #3 
    Physical Address. . . . . . . . . : 00-1F-29-0D-26-59 
    DHCP Enabled. . . . . . . . . . . : No 
    Autoconfiguration Enabled . . . . : Yes 
    IPv4 Address. . . . . . . . . . . : 166.49.47.10(Preferred) 
    Subnet Mask . . . . . . . . . . . : 255.255.255.240 
    Default Gateway . . . . . . . . . : 
    NetBIOS over Tcpip. . . . . . . . : Disabled 
using System.Net.NetworkInformation; 
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); 

मुझे HP NC364T PCIe Quad Port Gigabit Server Adapter #3 मिलता है। वास्तव में ipconfig के समान ही। लेकिन परफॉर्म HP NC364T PCIe Quad Port Gigabit Server Adapter _3 (हैश के बजाय अंडरस्कोर) का उपयोग कर रहा है। क्या मुझे समान सटीक काउंटर नाम प्राप्त करने के लिए एक अलग कॉल का उपयोग करना है जैसा कि परफॉर्म के पास है? यदि ऐसा है, तो ये क्या है?

+0

आपको "एचपी एनसी 364 टी पीसीआई क्वाड पोर्ट गीगाबिट सर्वर एडाप्टर # 3" 'डब्लूएमआई का उपयोग करके भी मिलता है – GETah

उत्तर

1

मैं व्यक्तिगत रूप से नेटवर्क उपकरणों को मूल तरीके से सूचीबद्ध करने के लिए रजिस्ट्री का उपयोग करता हूं। जानकारी पुनर्प्राप्त करने के कई अलग-अलग तरीके हैं, लेकिन सभी तरीकों से सिस्टम जैसी जानकारी प्रदर्शित नहीं होती है। एक संभावित कोड नमूना इस तरह दिख सकता है (पूरी तरह से त्रुटि नहीं है)। यह विंडोज विस्टा 32/64 बिट और 7 पर मेरे लिए काम करता है यह नेट वर्ग से काफी अलग है, लेकिन ऐसा लगता है कि यह वही तरीका है। नाम चलाने के लिए "माइक्रोसॉफ्ट.Win32 का उपयोग कर नेमस्पेस" जोड़ा जाना चाहिए।

private void button1_Click(object sender, EventArgs e) 
    { 
     ListPCIDevices(false, listBox1); 
    } 

    public static void ListPCIDevices(bool ListOnlyNetworkDevices, ListBox LB) 
    { 
     string NetKey = @"SYSTEM\ControlSet001\Enum\PCI"; 
     using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(NetKey)) 
     { 
      foreach (string skName in rk.GetSubKeyNames()) 
      { 
       using (RegistryKey sk = rk.OpenSubKey(skName)) 
       { 

        foreach (string skSubName in sk.GetSubKeyNames()) 
        { 

         using (RegistryKey ssk = sk.OpenSubKey(skSubName)) 
         { 

          object ItemName = ssk.GetValue("DeviceDesc"); 
          object ItemCat = ssk.GetValue("Class"); 
          if (ItemCat == null) { ItemCat = "Unknown"; } 

          if ((ItemName != null) && ((ItemCat.ToString() == "Net")||(!ListOnlyNetworkDevices))) 
          { 
           LB.Items.Add(ItemName.ToString().Split(';')[1]); 
          } 

         } 
        } 
       } 
      } 
     } 
    } 
संबंधित मुद्दे