FCL小應用系列————如何擷取網卡等硬體資訊

來源:互聯網
上載者:User

要想擷取運行主機的各種配置資訊,如網卡MAC地址,IP地址,硬碟分區,硬碟號等等,只要引用System.Management就可以輕鬆實現這一切。比起VC++的實現簡單的多得多。例如擷取當前使能的網卡MAC,並顯示在列表框控制項中:

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");<br /> ManagementObjectCollection moc = mc.GetInstances();<br /> foreach (ManagementObject mo in moc)<br /> {<br /> if ((bool)mo["IPEnabled"] == true)<br /> listBox1.Items.Add ( mo["MacAddress"].ToString());</p><p> }<br />

上述代碼,只能擷取到啟用的網卡,並且網卡必須有連線。要想在網路連線斷開的情況下也能擷取到MAC,則需要如下代碼

 

 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");<br /> ManagementObjectCollection moc = mc.GetInstances();<br /> foreach (ManagementObject mo in moc)<br /> {<br /> if ((bool)mo["MacAddress"] != null)<br /> listBox1.Items.Add ( mo["MacAddress"].ToString());</p><p> }<br />

上述代碼,可以擷取到斷線的網卡MAC,但是不能擷取到禁用的網卡MAC。

 

另外,擷取CPU序號,硬碟序號的代碼如下:

private void GetInfo()<br /> {<br /> string cpuInfo = "";//cpu序號<br /> ManagementClass cimobject = new ManagementClass("Win32_Processor");<br /> ManagementObjectCollection moc = cimobject.GetInstances();<br /> foreach(ManagementObject mo in moc)<br /> {<br /> cpuInfo = mo.Properties["ProcessorId"].Value.ToString();<br /> Console.WriteLine ("cpu序號:"+cpuInfo.ToString ());<br /> }<br /> //擷取硬碟ID<br /> String HDid;<br /> ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");<br /> ManagementObjectCollection moc1 = cimobject1.GetInstances();<br /> foreach(ManagementObject mo in moc1)<br /> {<br /> HDid = (string)mo.Properties["Model"].Value;<br /> Console.WriteLine("硬碟序號:"+HDid.ToString ());<br /> }<br />

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.