C#获取计算机硬件信息的示例代码

天天代码码天天 2024-10-21 20:23:51编程技术
811

在现代计算机系统中,了解硬件信息对于系统管理、故障排除以及性能优化等方面具有重要意义。C#作为一种广泛使用的编程语言,提供了丰富的API和工具,使得开发人员能够方便地获取计算机硬件信息。本文将通过示例代码,详细介绍如何使用C#来获取计算机的硬件信息,包括处理器、内存、硬盘等关键组件的详细数据。

效果

C#获取计算机硬件信息的示例代码

项目

C#获取计算机硬件信息的示例代码

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;
 
namespace 获取计算机信息
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        /// <summary>
        /// 获取计算机硬件信息
        /// </summary>
        /// <param name="path">部件</param>
        /// <param name="key">键值</param>
        /// <returns></returns>
        public string GetComputerHardWareInfo(string path, string key)
        {
            try
            {
                ManagementClass managementClass = new ManagementClass(path);
                ManagementObjectCollection moc = managementClass.GetInstances();
                PropertyDataCollection properties = managementClass.Properties;
                foreach (var property in properties)
                {
                    if (property.Name == key)
                    {
                        foreach (var mo in moc)
                        {
                            return mo.Properties[property.Name].Value.ToString();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //记录异常信息
            }
 
            return string.Empty;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //获取CPU ID
            string CPU_ID = GetComputerHardWareInfo("Win32_Processor", "ProcessorId");
            //获取主板序列号
            string Board_SN = GetComputerHardWareInfo("Win32_BaseBoard", "SerialNumber");
            //获取硬盘序列号
            string Disk_SN = GetComputerHardWareInfo("Win32_DiskDrive", "Model");
            string UUID = GetComputerHardWareInfo("Win32_ComputerSystemProduct", "UUID");
            // 获取机器名
            string MachineName = Environment.MachineName;
            string OSVersion = Environment.OSVersion.VersionString.ToString();
            string UserName = Environment.UserName;
            string OperatingSystem = GetComputerHardWareInfo("Win32_OperatingSystem", "Caption");
 
            StringBuilder sb = new StringBuilder();
            sb.AppendLine(string.Format("CPU_ID:{0}", CPU_ID));
            sb.AppendLine(string.Format("Board_SN:{0}", Board_SN));
            sb.AppendLine(string.Format("Disk_SN:{0}", Disk_SN));
            sb.AppendLine(string.Format("UUID:{0}", UUID));
            sb.AppendLine(string.Format("MachineName:{0}", MachineName));
            sb.AppendLine(string.Format("OSVersion:{0}", OSVersion));
            sb.AppendLine(string.Format("UserName:{0}", UserName));
            sb.AppendLine(string.Format("OperatingSystem:{0}", OperatingSystem));
 
            textBox1.Text = sb.ToString();
        }
 
 
    }
}

总结

通过本文的示例代码,我们展示了如何使用C#获取计算机的硬件信息。从处理器、内存到硬盘,我们覆盖了主要硬件组件的关键数据获取方法。这些技术不仅可以用于系统监控和诊断,还可以为性能优化和资源管理提供重要参考。掌握这些技能,将使您在日常开发和系统管理中更加得心应手。希望本文的内容对您有所帮助,并激发您进一步探索硬件信息获取的更多可能性。

C# 计算机 硬件信息
THE END
战地网
频繁记录吧,生活的本意是开心

相关推荐

量子计算机可以破解比特币吗?真相揭秘与防御指南
嘿,币圈老铁们!最近量子计算机又刷屏了。都说它能秒破比特币,吓得新手瑟瑟发抖。今天我就来唠点实在的。别被FUD带偏节奏,咱用事实说话。 当前量子计算机能破解比特币吗...
2026-04-02 新闻资讯
318

以太坊是什么意思?7年老司机揭秘这个“全球计算机”的真相
大家好啊。我是老K。混迹币圈7年了。今天聊聊新手最懵的问题:以太坊是什么意思。很多人搜这个词。以为它就是比特币的升级版。错。大错特错。我见过太多粉丝被FUD吓跑。今天...
2026-04-02 新闻资讯
180

C# List遍历方式全面对比:for、foreach、LINQ的性能与场景分析
在C#程序设计中,List作为最常用的集合类型,其遍历方式的选择直接影响代码的效率、可读性和维护性。本文ZHANID工具网通过对比for循环、foreach循环、LINQ查询三种主流遍历方...
2025-09-12 编程技术
1074

一个字节等于多少bit?计算机存储单位的基础常识解析
在数字化时代,计算机存储单位是理解数据存储、传输与处理的核心基础。1字节(Byte)等于8比特(bit),这一等式不仅是计算机科学的基石,更是理解数据存储容量、传输速率等关...
2025-09-01 电脑知识
1350

d3d12.dll丢失怎么修复?计算机丢失d3d12.dll的修复方法详解
在使用计算机的过程中,有时会遇到“d3d12.dll丢失”的错误提示,导致某些程序无法正常运行。d3d12.dll是DirectX 12的重要组成部分,对于运行许多现代游戏和图形密集型应用程...
2025-06-25 电脑知识
665

计算机中的MIPS是指什么?MIPS可以衡量计算机的什么指标?
在计算机领域,MIPS是一个经常被提及的术语,它对于评估计算机性能具有重要意义。了解MIPS的定义以及它所能衡量的计算机指标,有助于我们更深入地理解计算机的工作原理和性能...
2025-06-23 电脑知识
887