ホームページ  >  記事  >  バックエンド開発  >  C# プログラミングを通じてコン​​ピューターのハードウェア情報を取得するにはどうすればよいですか?

C# プログラミングを通じてコン​​ピューターのハードウェア情報を取得するにはどうすればよいですか?

黄舟
黄舟オリジナル
2017-08-07 13:10:222032ブラウズ

この記事では、主に、コンピューターの CPU、マザーボード、ハードディスク、BIOS 番号などの情報を取得するための C# プログラミングの関連操作スキルと注意事項を例の形式で紹介します。必要な場合は、以下を参照してください

この記事の例では、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 情報に番号があるわけではありません。

さらに、上記の各フィールドを通じて取得した情報を出力し、すべての情報属性と対応する値を 1 つずつ表示することができます。コードは次のとおりです:


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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。