【驱动序列】C#获取电脑硬件基本组合以及基础信息

大家好,我是全栈小5,欢迎阅读《小5讲堂之知识点实践序列》文章。
这是2024年第7篇文章,此篇文章是C#知识点实践序列文章,博主能力有限,理解水平有限,若有不对之处望指正!
要开发一款驱动小助手,要么首先就是需要了解和输出硬件基本信息,特别是驱动版本,这将是驱动程序是否需要更新重要判断依据。

目录

  • 前言
  • 硬件信息
  • 输出信息
    • CPU
      • 效果
      • 代码
    • 显卡
      • 效果
      • 代码
  • 查询工具

在这里插入图片描述

前言

用过驱动软件的小伙伴应该都可以,有一定流量后普通用户下载驱动的速度明显慢了,这个项目很久之前就想着开发一个,
所以就有《驱动序列》文章,此序列文章将会一步一步探索和实现驱动最新版本检查和下载更新等功能。

硬件信息

一台计算机主要由以下几个硬件组成

序号 模块 描述
1 中央处理器 中央处理器(CPU):负责执行计算机的指令和处理数据。CPU 是计算机的大脑,决定了计算机的运行速度和性能。
2 内存 内存(RAM):用于临时存储计算机正在运行的程序和数据。内存的大小直接影响计算机的多任务处理能力和运行效率。
3 存储设备 存储设备(硬盘/固态硬盘):用于永久存储操作系统、应用程序和用户数据。硬盘通常提供更大的存储容量,而固态硬盘具有更快的读写速度。
4 显卡 显卡(图形处理器):负责处理图形和图像的计算任务,并将结果显示在显示器上。显卡对于图形处理、游戏和视频编辑等方面至关重要。
5 主板 主板(或称为系统板、基板):是所有硬件组件的连接和交流枢纽。主板上有各种插槽和接口,用于插入和连接 CPU、内存、显卡、存储设备和其他扩展设备。
6 电源供应器 电源供应器:为计算机提供电力,供各种硬件组件使用。

输出信息

通过窗体软件获取和输出电脑基本的硬件设备信息,包括名称、以及当前驱动版本。
后续文章会针对每个硬件进行细化分析输出详细信息。

CPU

以下是输出中央处理器的信息

效果

【驱动序列】C#获取电脑硬件基本组合以及基础信息_第1张图片

代码

// 创建 ManagementObjectSearcher 对象
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Processor");

// 执行查询并获取结果集
ManagementObjectCollection collection = searcher.Get();

// 遍历结果集并输出 CPU 信息
foreach (ManagementObject obj in collection)
{
    textBox1.AppendText($"处理器: {obj["Name"]}\r\n");
    textBox1.AppendText($"制造商: {obj["Manufacturer"]}\r\n");
    textBox1.AppendText($"核心数量: {obj["NumberOfCores"]}\r\n");
    textBox1.AppendText($"线程数量: {obj["NumberOfLogicalProcessors"]}\r\n");
    textBox1.AppendText($"架构: {obj["Architecture"]}\r\n");
    textBox1.AppendText($"处理器ID: {obj["Architecture"]}\r\n");
}

显卡

以下是输出显卡的信息

效果

【驱动序列】C#获取电脑硬件基本组合以及基础信息_第2张图片

代码

 // 获取显卡信息
ManagementObjectSearcher searcher1 = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");
foreach (ManagementObject queryObj in searcher1.Get())
{
    textBox1.AppendText($"显卡名称: {queryObj["Name"]}\r\n");
    textBox1.AppendText($"显存大小(字节): {queryObj["AdapterRAM"]}\r\n");
    textBox1.AppendText($"驱动程序版本: {queryObj["DriverVersion"]}\r\n");
}

查询工具

这里用到的查看工具类是ManagementObjectSearcher。

ManagementObjectSearcher 是 C# 中的一个类,属于 System.Management 命名空间。
它是在.NET Framework 中提供的一个用于执行 WMI(Windows Management Instrumentation)查询的工具。

WMI 是一种用于管理和监控Windows操作系统的组件,可以用于获取系统信息、执行管理任务和监视系统性能等。ManagementObjectSearcher 类可以帮助你执行基于 WQL(WMI 查询语言)的查询,并获取符合条件的 WMI 对象集合。

使用 ManagementObjectSearcher,你可以执行例如 SELECT 和 ASSOCIATORS OF 等类型的查询语句。
你可以在查询中指定要获取的 WMI 类名、查询条件、返回的属性等。查询结果以 ManagementObjectCollection 的形式返回,然后你可以遍历这个集合来访问查询结果中的对象和属性。
通过 ManagementObjectSearcher,你可以非常方便地获取和操作计算机的硬件信息、系统配置、进程信息等。它在系统管理、监控和信息检索等方面非常有用。

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

你可能感兴趣的:(C#,c#,开发语言)