C#编程获取客户端计算机硬件及系统信息功能示例

作者:袖梨 2022-06-25

这里使用C#获取客户端计算机硬件及系统信息 ,包括CPU、硬盘、IP、MAC地址、操作系统等。

1、项目引用System.Management库。

2、创建HardwareHandler.cs类文件

 

 代码如下复制代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Management;

namespaceMyStudy.Utility

{

  ///

  /// 计算机硬件处理类

  ///

  publicclassHardwareHandler

  {

    publicenumWMIPath

    {

      // 硬件

      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,// 已安装的网络协议

    }

    ///

    /// Cpu信息

    ///

    ///

    publicvoidCpuInfo()

    {

      try

      {

        ManagementClass mc =newManagementClass(WMIPath.Win32_Processor.ToString());

        ManagementObjectCollection moc = mc.GetInstances();

        foreach(ManagementObject moinmoc)

        {

          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");

      }

    }

    ///

    /// 主板信息

    ///

    publicvoidMainBoardInfo()

    {

      try

      {

        ManagementClass mc =newManagementClass(WMIPath.Win32_BaseBoard.ToString());

        ManagementObjectCollection moc = mc.GetInstances();

        foreach(ManagementObject moinmoc)

        {

          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");

      }

    }

    ///

    /// 硬盘信息

    ///

    publicvoidDiskDriveInfo()

    {

      try

      {

        ManagementClass mc =newManagementClass(WMIPath.Win32_DiskDrive.ToString());

        ManagementObjectCollection moc = mc.GetInstances();

        foreach(ManagementObject moinmoc)

        {

          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");

      }

    }

    ///

    /// 网络连接信息

    ///

    publicvoidNetworkInfo()

    {

      try

      {

        ManagementClass mc =newManagementClass(WMIPath.Win32_NetworkAdapterConfiguration.ToString());

        ManagementObjectCollection moc = mc.GetInstances();

        foreach(ManagementObject moinmoc)

        {

          Console.WriteLine("MAC地址:"+ mo.Properties["MACAddress"].Value);

          Console.WriteLine("IP地址:"+ mo.Properties["IPAddress"].Value);

        }

      }

      catch

      {

        Console.WriteLine("Erroe");

      }

    }

    ///

    /// 操作系统信息

    ///

    publicvoidOsInfo()

    {

      try

      {

        ManagementClass mc =newManagementClass(WMIPath.Win32_OperatingSystem.ToString());

        ManagementObjectCollection moc = mc.GetInstances();

        foreach(ManagementObject moinmoc)

        {

          Console.WriteLine("操作系统:"+ mo.Properties["Name"].Value);

          Console.WriteLine("版本:"+ mo.Properties["Version"].Value);

          Console.WriteLine("系统目录:"+ mo.Properties["SystemDirectory"].Value);

        }

      }

      catch

      {

        Console.WriteLine("Erroe");

      }

    }

  }

}

 

相关文章

精彩推荐