Programmation C# pour obtenir le matériel informatique client et les informations système, analyse de cas de code de fonction

黄舟
Libérer: 2017-03-25 11:46:36
original
1826 Les gens l'ont consulté

Cet article présente principalement la fonction de C#programmation pour obtenir le matériel informatique client et les informations système, qui peuvent comprendre le processeur du système client, le disque dur, la carte mère et d'autres informations matérielles. et les amis clients dans le besoin peuvent se référer aux compétences opérationnelles du système d'exploitation, de l'IP, du MAC et d'autres informations

Cet article décrit la fonction de programmation C# pour obtenir le matériel informatique client et les informations système. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Ici, C# est utilisé pour obtenir le matériel informatique client et les informations système, y compris le processeur, le disque dur, l'adresse IP, l'adresse MAC, le système d'exploitation, etc. .

1. Le projet fait référence à la bibliothèque System.Management.

2. Créez le fichier de classe HardwareHandler.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
namespace MyStudy.Utility
{
  /// <summary>
  /// 计算机硬件处理类
  /// </summary>
  public class HardwareHandler
  {
    public enum WMIPath
    {
      // 硬件
      Win32_Processor,     // CPU 处理器
      Win32_PhysicalMemory,  // 物理内存条
      Win32_Keyboard,     // 键盘
      Win32_PointingDevice,  // 点输入设备,包括鼠标。
      Win32_FloppyDrive,    // 软盘驱动器
      Win32_DiskDrive,     // 硬盘驱动器
      Win32_CDROMDrive,    // 光盘驱动器
      Win32_BaseBoard,     // 主板
      Win32_BIOS,       // BIOS 芯片
      Win32_ParallelPort,   // 并口
      Win32_SerialPort,    // 串口
      Win32_SerialPortConfiguration, // 串口配置
      Win32_SoundDevice,    // 多媒体设置,一般指声卡。
      Win32_SystemSlot,    // 主板插槽 (ISA & PCI & AGP)
      Win32_USBController,   // USB 控制器
      Win32_NetworkAdapter,  // 网络适配器
      Win32_NetworkAdapterConfiguration, // 网络适配器设置
      Win32_Printer,      // 打印机
      Win32_PrinterConfiguration, // 打印机设置
      Win32_PrintJob,     // 打印机任务
      Win32_TCPIPPrinterPort, // 打印机端口
      Win32_POTSModem,     // MODEM
      Win32_POTSModemToSerialPort, // MODEM 端口
      Win32_DesktopMonitor,  // 显示器
      Win32_DisplayConfiguration, // 显卡
      Win32_DisplayControllerConfiguration, // 显卡设置
      Win32_VideoController, // 显卡细节。
      Win32_VideoSettings,  // 显卡支持的显示模式。
      // 操作系统
      Win32_TimeZone,     // 时区
      Win32_SystemDriver,   // 驱动程序
      Win32_DiskPartition,  // 磁盘分区
      Win32_LogicalDisk,   // 逻辑磁盘
      Win32_LogicalDiskToPartition,   // 逻辑磁盘所在分区及始末位置。
      Win32_LogicalMemoryConfiguration, // 逻辑内存配置
      Win32_PageFile,     // 系统页文件信息
      Win32_PageFileSetting, // 页文件设置
      Win32_BootConfiguration, // 系统启动配置
      Win32_ComputerSystem,  // 计算机信息简要
      Win32_OperatingSystem, // 操作系统信息
      Win32_StartupCommand,  // 系统自动启动程序
      Win32_Service,     // 系统安装的服务
      Win32_Group,      // 系统管理组
      Win32_GroupUser,    // 系统组帐号
      Win32_UserAccount,   // 用户帐号
      Win32_Process,     // 系统进程
      Win32_Thread,      // 系统线程
      Win32_Share,      // 共享
      Win32_NetworkClient,  // 已安装的网络客户端
      Win32_NetworkProtocol, // 已安装的网络协议
    }
    /// <summary>
    /// Cpu信息
    /// </summary>
    /// <returns></returns>
    public void CpuInfo()
    {
      try
      {
        ManagementClass mc = new ManagementClass(WMIPath.Win32_Processor.ToString());
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
          Console.WriteLine("CPU编号:" + mo.Properties["ProcessorId"].Value);
          Console.WriteLine("CPU型号:" + mo.Properties["Name"].Value);
          Console.WriteLine("CPU状态:" + mo.Properties["Status"].Value);
          Console.WriteLine("主机名称:" + mo.Properties["SystemName"].Value);
        }
      }
      catch
      {
        Console.WriteLine("Erroe");
      }
    }
    /// <summary>
    /// 主板信息
    /// </summary>
    public void MainBoardInfo()
    {
      try
      {
        ManagementClass mc = new ManagementClass(WMIPath.Win32_BaseBoard.ToString());
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
          Console.WriteLine("主板ID:" + mo.Properties["SerialNumber"].Value);
          Console.WriteLine("制造商:" + mo.Properties["Manufacturer"].Value);
          Console.WriteLine("型号:" + mo.Properties["Product"].Value);
          Console.WriteLine("版本:" + mo.Properties["Version"].Value);
        }
      }
      catch
      {
        Console.WriteLine("Erroe");
      }
    }
    /// <summary>
    /// 硬盘信息
    /// </summary>
    public void DiskDriveInfo()
    {
      try
      {
        ManagementClass mc = new ManagementClass(WMIPath.Win32_DiskDrive.ToString());
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
          Console.WriteLine("硬盘SN:" + mo.Properties["SerialNumber"].Value);
          Console.WriteLine("型号:" + mo.Properties["Model"].Value);
          Console.WriteLine("大小:" + Convert.ToDouble(mo.Properties["Size"].Value) / (1024 * 1024 * 1024));
        }
      }
      catch
      {
        Console.WriteLine("Erroe");
      }
    }
    /// <summary>
    /// 网络连接信息
    /// </summary>
    public void NetworkInfo()
    {
      try
      {
        ManagementClass mc = new ManagementClass(WMIPath.Win32_NetworkAdapterConfiguration.ToString());
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
          Console.WriteLine("MAC地址:" + mo.Properties["MACAddress"].Value);
          Console.WriteLine("IP地址:" + mo.Properties["IPAddress"].Value);
        }
      }
      catch
      {
        Console.WriteLine("Erroe");
      }
    }
    /// <summary>
    /// 操作系统信息
    /// </summary>
    public void OsInfo()
    {
      try
      {
        ManagementClass mc = new ManagementClass(WMIPath.Win32_OperatingSystem.ToString());
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
          Console.WriteLine("操作系统:" + mo.Properties["Name"].Value);
          Console.WriteLine("版本:" + mo.Properties["Version"].Value);
          Console.WriteLine("系统目录:" + mo.Properties["SystemDirectory"].Value);
        }
      }
      catch
      {
        Console.WriteLine("Erroe");
      }
    }
  }
}
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!