Comment obtenir des informations sur le matériel informatique via la programmation C# ?

黄舟
Libérer: 2017-08-07 13:10:22
original
2037 Les gens l'ont consulté

Cet article présente principalement la méthode de programmation C# pour obtenir diverses informations sur le matériel informatique, et analyse les compétences opérationnelles et les précautions pertinentes pour C# pour obtenir le processeur de l'ordinateur, la carte mère, le disque dur, le numéro de BIOS et d'autres informations sous forme d'exemples. Les amis qui en ont besoin peuvent Pour référence,

L'exemple de cet article décrit la méthode d'obtention de diverses informations sur le matériel informatique via la programmation C#. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Obtenez le numéro de 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;
Copier après la connexion

Retour le résultat :


电脑1:CPU ID:BFEBFBFF00000F27
电脑2:CPU ID:BFEBFBFF00000F27
电脑3:CPU ID:BFEBFBFF00000F29
电脑4:CPU ID:BFEBFBFF00000F29
Copier après la connexion

Obtenir le numéro de la carte mère :


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;
Copier après la connexion

Renvoie le résultat :


电脑1:主板 ID:
电脑2:主板 ID:CN24401483
电脑3:主板 ID:AZF241001101
电脑4:主板 ID:
Copier après la connexion

Obtenir le numéro du disque dur :


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;
Copier après la connexion

Renvoyer le résultat :


电脑1:硬盘 ID:4833395344463658202020202020202020202020
电脑2:硬盘 ID:WD-WMAJD1092385
电脑3:硬盘 ID:4a353756354d5939202020202020202020202020
电脑4:硬盘 ID:0637J2FW508014
Copier après la connexion

Obtenir le numéro du 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;
Copier après la connexion

Résultat du retour :


电脑1:BIOS ID:
电脑2:BIOS ID:CN24401483
电脑3:BIOS ID:
电脑4:BIOS ID:
Copier après la connexion

Résumé :

D'après les étapes ci-dessus, on peut voir que l'obtention du CPUID via Win32_Processor est incorrect ou le champ Win32_Processor ne contient pas les informations sur le numéro de CPU.

Obtenez des informations sur la carte mère via Win32_BaseBoard, mais toutes les cartes mères n'ont pas de numéros, ou il n'est pas possible d'obtenir les numéros de toutes les cartes mères du système.

Il ne devrait y avoir aucun problème pour obtenir le numéro du disque dur via Win32_PhysicalMedia. Cependant, il est dit en ligne qu'il peut être obtenu via Win32_DiskDrive. En fait, les informations obtenues n'incluent pas du tout SerialNumber.

L'obtention d'informations sur le BIOS via Win32_BIOS est fondamentalement la même que l'obtention d'informations sur la carte mère. Autrement dit : toutes les informations du BIOS de la carte mère n’ont pas de numéro.

De plus, vous pouvez afficher les informations obtenues via chacun des champs ci-dessus et afficher tous les attributs d'information et les valeurs correspondantes un par un. Le code est le suivant :


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=======================";
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal