当前位置: 首页 > news >正文

Windows下使用C++的方式获取Windows的硬件信息

目录

    • 介绍
    • 方法
    • Windows下获取BIOS信息的命令行:
    • Windows下获取主板信息的命令行
    • Windows下获取磁盘信息的命令行
    • Windows下获取CPU信息的命令行
    • 代码链接

介绍

使用C++获取Windows下的硬件信息,介绍获取方法、验证,可以获取到主板、磁盘、CPU、BIOS信息。

方法

Windows Management Instrumentation

介绍:Windows Management Instrumentation(WMI) 是Windows中用于提供共同的界面和对象模式以便访问有关操作系统、设备、应用程序和服务的管理信息。如果此服务被终止,多数基于 Windows的软件将无法正常运行。如果此服务被禁用,任何依赖它的服务将无法启动。正常来说,它适用于所有最新版本的Windows。WMI 附带在 Windows Me、Windows 2000、Windows XP 和 Windows Server 2003之中,其它版本可能不自带。随着计算机启动而启动,随计算机关闭而关闭。

详细的简介、使用环境、重启服务、补充信息、执行文件路径、启动方法参见百度百科。

可以通过C++的方式调用API获取Windows系统下的信息,下面使用wmic命令进行与代码功能的验证。(wmic命令并不是所有计算机都自带,有些计算机需要下载,它的原理是基于WMI,所以即使计算机没有安装wmic命令,通过C++使用WMI也可以获取计算机信息。)

Windows下获取BIOS信息的命令行:

举例:

wmic BIOS get name,manufacturer,version,serialnumber,releasedate,currentlanguage,description

在这里插入图片描述
可获取的BISO信息:

  • BIOSVersion:BIOS的版本号。
  • Caption:BIOS的简短描述。
  • CurrentLanguage:当前BIOS 使用的语言。
  • Description:BIOS的详细描述。
  • InstallableLanguages:可安装的语言列表。
  • Manufacturer:BIOS的制造商,如 “American Megatrends Inc.”。
  • Name:BIOS 的名称。
  • PrimaryBIOS:是否为主BIOS(布尔值)。
  • ReleaseDate:BIOS的发布日期。
  • SerialNumber:BIOS的序列号。
  • SMBIOSBIOSVersion:SMBIOS(系统管理BIOS)版本号。
  • SMBIOSMajorVersion:SMBIOS主版本号。
  • SMBIOSMinorVersion:SMBIOS次版本号。
  • SoftwareElementID:软件元素 ID。
  • SoftwareElementState:软件元素状态。
  • Status:BIOS 状态。
  • Version:BIOS版本。

Windows下获取主板信息的命令行

举例:

wmic baseboard get Manufacturer,Product,Version,SerialNumber

在这里插入图片描述
可获取的主板信息

  • Manufacturer:主板制造商
  • Product:主板产品型号
  • Version:主板版本号
  • SerialNumber:主板序列号

Windows下获取磁盘信息的命令行

举例:

wmic diskdrive get size

在这里插入图片描述
可获取的磁盘信息:

  • Model:驱动器型号
  • SerialNumber:磁盘序列号
  • Size:磁盘容量,以字节为单位

Windows下获取CPU信息的命令行

举例:

wmic cpu get Name,Manufacturer,NumberOfCores,NumberOfLogicalProcessors,MaxClockSpeed

在这里插入图片描述
可获取的CPU信息:

  • Name:名称
  • Manufacturer:CPU制造商
  • NumberOfCores:CPU的内核数
  • NumberOfLogicalProcessors:CPU的逻辑处理器数量
  • MaxClockSpeed:CPU的最大时钟速度,单位为MHz
  • ProcessorId:CPU的ID
  • L2CacheSize:二级缓存大小,单位为字节
  • L3CacheSize:三级缓存大小,单位为字节

代码链接

代码地址

相关文章:

  • hackmyvm-airbind
  • OpenBMC开发之obmc-ikvm与libvncserver的连理关系
  • 详解多线程高并发IOCP开发模式(含示例说明)
  • STM32的三种启动方式
  • 裂项法、分式分解法——复杂分式的拆解
  • 【LLaMAFactory】LoRa + 魔搭 微调大模型实战
  • llama-factory微调报错:
  • JavaScript在边缘计算(Edge Computing)环境下的性能考量
  • 八股文---Redis(1)
  • 山东科技大学深度学习考试回忆
  • 嵌入式芯片中的 低功耗模式 内容细讲
  • CTF--秋名山车神
  • LeetCode 2563.统计公平数对的数目:排序 + 二分查找
  • QML中的3D功能--纹理应用
  • 致远OA——自定义开发rest接口
  • OSPF综合实验(HCIP)
  • 09-DevOps-Jenkins实现CI持续集成
  • Java集合框架中的List、Map、Set详解
  • 【unity】Vulkan模式下部分Android机型使用VideoPlayer组件播放视频异常问题
  • 超简单的git学习教程
  • “站在亚洲实现整体振兴的新起点上”——习近平主席对越南、马来西亚、柬埔寨进行国事访问纪实
  • 俄罗斯与乌克兰互换246名在押人员
  • 杨国荣丨阐释学的内涵与意义——张江《阐释学五辨》序
  • 老总们带着产品直奔对接会,外贸拓内销找到更多“新路子”
  • 汕头22岁女子手术成功却意外脑死亡,家属称缺氧30分钟医生未发觉
  • 不断深化“数字上海”建设!上海市数据发展管理工作领导小组会议举行