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

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

在这里插入图片描述

目录

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

在这里插入图片描述

前言

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

硬件信息

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

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

输出信息

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

CPU

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

效果

在这里插入图片描述

代码

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

显卡

以下是输出显卡的信息

效果

在这里插入图片描述

代码

 // 获取显卡信息
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,你可以非常方便地获取和操作计算机的硬件信息、系统配置、进程信息等。它在系统管理、监控和信息检索等方面非常有用。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/293803.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux内存管理:(六)页交换算法

文章说明: Linux内核版本:5.0 架构:ARM64 参考资料及图片来源:《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址: zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 引言 在Linux操作系统中&#x…

企业数据治理的三个阶段:从起步到成熟的数据管理之旅

随着数字化时代的到来,企业数据已经成为企业的重要资产和驱动业务发展的重要力量。然而,要想充分利用数据的价值,企业需要对其数据进行有效的管理和治理。本文将对企业数据治理的三个阶段进行详细的探讨,以帮助企业了解其在数据治…

Zookeeper(持续更新)

VIP-01 Zookeeper特性与节点数据类型详解 文章目录 VIP-01 Zookeeper特性与节点数据类型详解正文1. 什么是Zookeeper?2. Zookeeper 核心概念2.1、 文件系统数据结构2.2、监听通知机制2.3、Zookeeper 经典的应用场景3.2. 使用命令行操作zookeeper 正文 什么是Zookee…

新品发布 | 思腾合力深思系列IW2235-2GR GPU服务器

思腾合力深思系列 IW2235-2GR GPU服务器支持第四代英特尔至强可扩展处理器,采用全新微架构内核,支持最高的350W型号,计算性能强劲;支持32个DDR5内存,频率最高可达4800MHz,内存带宽相比上一代提升50%&#x…

[前端]React入门指南安裝及依赖包管理

仓库管理工具nrm #安装nrm npm i -g nrm#查看当前 nrm ls#use 使用仓库 nrm use npm 常见问题 npm安装失败 。切换为npm镜像为淘宝镜像 。使用yarn,如果本来使用yarn还要失败,还得把yarn的源切换到国内,如果还没有办法解决,请删除…

大一,如何成为一名fpga工程师?

​ 1、数电(必须掌握的基础),然后进阶学模电(选学), 2、掌握HDL(HDLverilogVHDL)可以选择verilog或者VHDL,建议verilog就行。 3、掌握FPGA设计流程/原理(推…

PPI+机器学习+免疫浸润+实验验证,如此简单也能发4+

今天给同学们分享一篇生信文章“Identification of metabolic biomarkers associated with nonalcoholic fatty liver disease”,这篇文章发表在Lipids Health Dis期刊上,影响因子为4.5。 结果解读: 识别NAFLD患者的MR DEG 主成分分析&…

YOLOv7独家原创改进:新颖的Shape IoU结合 Inner-IoU,基于辅助边框的IoU损失的同时关注边界框本身的形状和尺度,小目标实现高效涨点

💡💡💡本文改进:一种新的Shape IoU方法结合 Inner-IoU,基于辅助边框的IoU损失的同时,更加关注边界框本身的形状和尺度来计算损失 💡💡💡对小目标检测涨点明显,在VisDrone2019、PASCAL VOC均有涨点 💡💡💡本文改进:一种新的Shape IoU方法,该方法可以通过…

Python入门-函数

1.函数的定义及调用 函数:函数是将一段实现功能的完整代码,使用函数名称进行封装,通过函数名称进行调用。 以此达到一次编写,多次调用的目的 def get_sum(num): #num叫形式参数s0for i in range(1,num1):siprint(f1到{num}之…

Docker 发布自定义镜像到公共仓库

Docker 发布自定义镜像到公共仓库 引言 Docker 是一种轻量级、便携式的容器化技术,可以使应用程序在不同环境中更加可移植。在本文中,我们将学习如何使用 Docker 从公共仓库拉取 Nginx 镜像,定制该镜像,添加自定义配置文件&…

中国到雅加达专线,快速双清到门!

中国到雅加达专线,快速双清到门!🚀🌏 嘿,亲爱的小伙伴们!有关中国到雅加达的专线,快来了解一下吧!🇨🇳✈️🇮🇩 专线亮点&#xff1a…

Python从入门到网络爬虫(面向对象详解)

前言 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本…

thingsboard前端缓存--nginx

thingsboardnginx thingsboard部署到阿里云服务器之后,由于登录界面要发送的文件很大,并且服务器的带宽目前有限,因此配置一个nginx,进行前端页面的一些缓存,参考了https://qianchenzhumeng.github.io/posts/Nginx%E5…

如何解决大语言模型的幻觉问题

如何解决大模型的「幻觉」问题? 什么是大模型「幻觉」 在人类生活中,幻觉表示虚假的但是我们分辨不清楚的事物,在大语言模型中,[幻觉]即代表模型生成的虚假的文本,这中情况很容易导致一些错误的发生 造成大模型「幻觉…

静态网页设计——网上书店(HTML+CSS+JavaScript)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 使用技术:HTMLCSSJS 主要内容:网上式的书店。是一种高质量,更快捷,更方便的购书方式。网上书店不仅可用于图书的在线销售…

简易2048游戏的实现(C++)

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、效果图二、代码(带注释)三、说明 一、效果图 二、代码(带…

yolov8实战第五天——yolov8+ffmpg实时视频流检测并进行实时推流——(推流,保姆教学)

yolov8实战第一天——yolov8部署并训练自己的数据集(保姆式教程)_yolov8训练自己的数据集-CSDN博客 yolov8实战第三天——yolov8TensorRT部署(python推理)(保姆教学)-CSDN博客 今天,我们继续y…

比例阀放大器控制阀类型

控制各种不带电气位移反馈的单电磁铁比例方向阀、比例压力阀、比例流量阀、比例减压阀、比例节流阀、比例插装阀的BEUEC比例放大器,供电24VDC,输入指令、输出电流、颤振频率、斜坡时间等可现场设置,适用不同阀易匹配,带参考电压输…

openwrt使用docker部署adguard home

docker创建macvlan,目的使adguard home具备宿主机同网段IP docker network create -d macvlan --subnet192.168.88.0/24 --gateway192.168.88.254 -o parentbr-lan bridge-host(虚拟网卡名字)拉取adguard home镜像 docker pull adguard/adguardhome:la…

记一次:职业规划与心灵成长

前言:csdn组织了2023年的年度征文,为了响应号召(嘘~其实为了那个铭牌),加上这么多年了也该总结一下了,就写了这么一篇(公司正好让写年终总结,巧了么这不是) 一、感谢部分…