如何使用 C++ 在 Windows 中获取硬件信息?

Posted

技术标签:

【中文标题】如何使用 C++ 在 Windows 中获取硬件信息?【英文标题】:How to get hardware information in Windows using C++? 【发布时间】:2011-05-14 06:45:44 【问题描述】:

c++中如何获取硬件信息(如cpuId、biosId、diskId、baseId、videoId)?

谁能给我一个 Visual Studio 项目示例?

【问题讨论】:

什么平台?什么 API? 在标准 C++ 中没有办法做到这一点。它必须以特定于平台的方式完成,因此您需要指定您使用的操作系统。 我在windows xp和windows 2003 server中的平台 【参考方案1】:

获取磁盘 ID(序列号?卷 ID?)或 CPU ID 或 ... 的方法非常不同。我想你想建立计算机的指纹。 最舒适的方法是使用 Windows Management Instrumentation (WMI) 并访问 DMI 。请参阅MSDN 作为开始。 有关如何获取主板序列号的提示,请参见MSDN here。

【讨论】:

【参考方案2】:

GetSystemInfo 将帮助您开始了解 CPU 信息。每个子系统一般都有不同的查询功能。

【讨论】:

【参考方案3】:

标准 c++ 不为您提供此功能。这些api可能由操作系统或硬件驱动提供。

【讨论】:

我的平台在wondows xp和windows server 2003 X86上。我能在这个平台上获取硬件信息吗? 示例:xp:可以获取有关磁盘的信息。 api有很多:GetDiskFreeSpace GetVolumeInfomation

以上是关于如何使用 C++ 在 Windows 中获取硬件信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C++ 获取硬件的唯一标识符 [关闭]

如何使用 C++ 在 Windows 中获取应用程序数据路径?

如何在 C++ 中获取 Windows 下的内存使用情况

如何使用 C++ 在 Windows 中获取 MAC 地址? [关闭]

使用 C++ 在 Windows 中获取时区

如何在windows c++中的cmd中运行命令后获取退出代码