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

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

在现代计算机系统中,了解硬件信息对于系统管理、故障排除以及性能优化等方面具有重要意义。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
战地网
频繁记录吧,生活的本意是开心

相关推荐

C#代码生成器实现原理深度解析
在现代软件开发中,代码生成器作为一种自动化工具,能够显著提高开发效率,减少重复性工作。C#代码生成器作为其中的一种,通过模板引擎和代码生成规则,自动生成符合特定规范...
2024-11-08 编程技术
122

如何在没有TPM的计算机上启用BitLocker
​BitLocker 驱动器加密是一种强大的安全功能,用于保护数据免受未经授权的访问。虽然 BitLocker 通常依赖于可信平台模块(TPM)来提供增强的安全保护,但在没有 TPM 的计算机...
2024-07-22 电脑知识
153

C#实现十进制数转换为十六进制的几种方式
在C#中,十进制和十六进制转换非常简单,本文给大家介绍了C#实现十进制数转换为十六进制的几种方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可...
2024-04-19 编程技术
55

C#反编译工具有哪些?7款好用的C#反编译工具推荐
C#反编译工具是一种用于分析和理解C#应用程序的工具,可以帮助开发者查看和分析代码,以了解程序的工作原理。本文将介绍一些常见的C#反编译工具,并讨论它们的特点和应用场景...
2024-01-06 编程技术
76

推荐5款常用的注册表清理工具,让你的计算机运行更加流畅
注册表清理工具是用于维护和优化计算机性能的重要工具。本文站长工具网小编将给大家推荐5款常用的注册表清理工具,有需要的朋友可以参考下。
2023-12-13 电脑知识
35

Duck AI推多模式计算机交互数据收集器:DuckTrack
近日,Duck AI发布了一项引人注目的创新——DuckTrack,一款多模式计算机交互数据收集器。该工具的研发旨在为计算机代理的进步提供精准而准确的用户交互跟踪,成为训练智能系...
2023-11-30 新闻资讯
29