首页 > 编程 > C# > 正文

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

2019-10-29 21:15:20
字体:
来源:转载
供稿:网友

本文实例讲述了C#编程获取客户端计算机硬件及系统信息功能。分享给大家供大家参考,具体如下:

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

1、项目引用System.Management库。

2、创建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");      }    }  }}

希望本文所述对大家C#程序设计有所帮助。


注:相关教程知识阅读请移步到c#教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表