首頁  >  文章  >  後端開發  >  C#程式設計如何取得電腦硬體資訊的方法?

C#程式設計如何取得電腦硬體資訊的方法?

黄舟
黄舟原創
2017-08-07 13:10:222031瀏覽

這篇文章主要介紹了C#編程獲取各種電腦硬體資訊的方法,結合實例形式分析了C#獲取電腦CPU、主機板、硬碟、BIOS編號等資訊的相關操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了C#程式設計獲取各種電腦硬體資訊的方法。分享給大家供大家參考,具體如下:

取得CPU編號:


ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strID = null ;
foreach( ManagementObject mo in moc )
{
  strID = mo.Properties["ProcessorId"].Value.ToString();
  break;
}
textBox1.Text += "CPU ID:" + strID;

回傳結果:


电脑1:CPU ID:BFEBFBFF00000F27
电脑2:CPU ID:BFEBFBFF00000F27
电脑3:CPU ID:BFEBFBFF00000F29
电脑4:CPU ID:BFEBFBFF00000F29

取得主機板編號:


ManagementClass mc = new ManagementClass("Win32_BaseBoard");
ManagementObjectCollection moc = mc.GetInstances();
string strID = null ;
foreach( ManagementObject mo in moc )
{
  strID = mo.Properties["SerialNumber"].Value.ToString();
  break;
}
textBox1.Text += "主板 ID:" + strID;

傳回結果:





电脑1:主板 ID:
电脑2:主板 ID:CN24401483
电脑3:主板 ID:AZF241001101
电脑4:主板 ID:

取得硬碟編號:


ManagementClass mc = new ManagementClass("Win32_PhysicalMedia");
//网上有提到,用Win32_DiskDrive,但是用Win32_DiskDrive获得的硬盘信息中并不包含SerialNumber属性。
ManagementObjectCollection moc = mc.GetInstances();
string strID = null ;
foreach( ManagementObject mo in moc )
{
  strID = mo.Properties["SerialNumber"].Value.ToString();
  break;
}
textBox1.Text += "硬盘 ID:" + strID;
傳回結果:

电脑1:硬盘 ID:4833395344463658202020202020202020202020
电脑2:硬盘 ID:WD-WMAJD1092385
电脑3:硬盘 ID:4a353756354d5939202020202020202020202020
电脑4:硬盘 ID:0637J2FW508014

取得BIOS編號:

ManagementClass mc = new ManagementClass("Win32_BIOS");
ManagementObjectCollection moc = mc.GetInstances();
string strID = null ;
foreach( ManagementObject mo in moc )
{
  strID = mo.Properties["SerialNumber"].Value.ToString();
  break;
}
textBox1.Text += "BIOS ID:" + strID;

傳回結果:

######
电脑1:BIOS ID:
电脑2:BIOS ID:CN24401483
电脑3:BIOS ID:
电脑4:BIOS ID:
#####總結:#########由以上各步驟看出,透過Win32_Processor取得CPUID不正確,或是說Win32_Processor欄位就不包含CPU編號資訊。 ######透過Win32_BaseBoard取得主機板訊息,但不是所有的主機板都有編號,或說不是能取得所有系統主機板的編號。 ######透過Win32_PhysicalMedia取得硬碟編號應該沒有問題。但網路上說可以透過Win32_DiskDrive獲取,其實所得資訊根本不包含SerialNumber。 ######透過Win32_BIOS取得BIOS訊息,基本上和取得主機板資訊差不多。就是說:不是所有的主機板BIOS資訊都有編號。 ######另外,可以將透過以上各字段所得資訊輸出,逐一查看所有資訊 屬性和對應的值。程式碼如下:############
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach( ManagementObject mo in moc )
{
 textBox1.Text += "\r\n============CUP信息===========";
 foreach (PropertyData pd in mo.Properties)
 {
   textBox1.Text += "\r\n" + pd.Name + "\t";
   if (pd.Value != null)
   {
     textBox1.Text += pd.Value.ToString();
   }
 }
 textBox1.Text += "\r\n\r\n=======================";
}

以上是C#程式設計如何取得電腦硬體資訊的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn