软件编程
位置:首页>> 软件编程>> C#编程>> C#获取计算机硬件与操作系统的相关信息

C#获取计算机硬件与操作系统的相关信息

作者:農碼一生  发布时间:2022-12-12 07:11:36 

标签:C#,计算机,硬件,操作,系统,信息

1、项目引用System.Management库文件

2、创建HardwareHandler.cs类文件

namespace HardInfoTest.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();
               Console.WriteLine("===================================");
               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);
               }
               Console.WriteLine("===================================");
           }
           catch
           {
               Console.WriteLine("Error");
           }
       }
       /// <summary>
       /// 主板信息
       /// </summary>
       public void MainBoardInfo()
       {
           try
           {
               ManagementClass mc = new ManagementClass(WMIPath.Win32_BaseBoard.ToString());
               ManagementObjectCollection moc = mc.GetInstances();
               Console.WriteLine("===================================");
               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);
               }
               Console.WriteLine("===================================");
           }
           catch
           {
               Console.WriteLine("Error");
           }
       }
       /// <summary>
       /// 硬盘信息
       /// </summary>
       public void DiskDriveInfo()
       {
           try
           {
               ManagementClass mc = new ManagementClass(WMIPath.Win32_DiskDrive.ToString());
               ManagementObjectCollection moc = mc.GetInstances();
               Console.WriteLine("===================================");
               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));
               }
               Console.WriteLine("===================================");
           }
           catch
           {
               Console.WriteLine("Error");
           }
       }
       /// <summary>
       /// 网络连接信息
       /// </summary>
       public void NetworkInfo()
       {
           try
           {
               ManagementClass mc = new ManagementClass(WMIPath.Win32_NetworkAdapterConfiguration.ToString());
               ManagementObjectCollection moc = mc.GetInstances();
               Console.WriteLine("===================================");
               foreach (ManagementObject mo in moc)
               {
                   Console.WriteLine("MAC地址:" + mo.Properties["MACAddress"].Value);
                   Console.WriteLine("IP地址:" + mo.Properties["IPAddress"].Value);
               }
               Console.WriteLine("===================================");
           }
           catch
           {
               Console.WriteLine("Error");
           }
       }
       /// <summary>
       /// 操作系统信息
       /// </summary>
       public void OsInfo()
       {
           try
           {
               ManagementClass mc = new ManagementClass(WMIPath.Win32_OperatingSystem.ToString());
               ManagementObjectCollection moc = mc.GetInstances();
               Console.WriteLine("===================================");
               foreach (ManagementObject mo in moc)
               {
                   Console.WriteLine("操作系统:" + mo.Properties["Name"].Value);
                   Console.WriteLine("版本:" + mo.Properties["Version"].Value);
                   Console.WriteLine("系统目录:" + mo.Properties["SystemDirectory"].Value);
               }
               Console.WriteLine("===================================");
           }
           catch
           {
               Console.WriteLine("Error");
           }
       }
   }
}

3、调用测试代码

static void Main(string[] args)
       {
           HardwareHandler hd = new HardwareHandler();
           hd.CpuInfo();
           hd.DiskDriveInfo();
           hd.MainBoardInfo();
           hd.NetworkInfo();
           hd.OsInfo();
       }

4、测试输出截图

C#获取计算机硬件与操作系统的相关信息

来源:https://www.cnblogs.com/wml-it/p/15789092.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com