在 C++ 应用程序中检测硬件信息?

Coo*_*der 6 c++ hardware

我想确定 CPU、RAM、硬盘、GPU 等硬件信息。我的应用程序使用 C++,但构建在 Qt 上。如何获取这些信息?谢谢你。

编辑:看起来没有平台独立的方式。所以请你列出一些著名操作系统的代码,比如 Windows、OSX 和 Ubuntu?

编辑:我说的是基本信息,如处理器速度、可用 RAM 量、硬盘速度、GPU 速度和内存。

fis*_*log 2

MS 提供了一些函数来以编程方式查找这些信息(包括 Windows.h):

BOOL WINAPI GetPhysicallyInstalledSystemMemory(  _Out_  PULONGLONG TotalMemoryInKilobytes );
Run Code Online (Sandbox Code Playgroud)

检索有关 RAM 的信息,请参阅文档

BOOL WINAPI GetDiskFreeSpaceEx(
 _In_opt_   LPCTSTR lpDirectoryName,
 _Out_opt_  PULARGE_INTEGER lpFreeBytesAvailable,
 _Out_opt_  PULARGE_INTEGER lpTotalNumberOfBytes,
 _Out_opt_  PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
Run Code Online (Sandbox Code Playgroud)

检索有关磁盘卷上可用空间量的信息,请参阅文档

SYSTEM_INFO siSysInfo; 
// Copy the hardware information to the SYSTEM_INFO structure.  
GetSystemInfo(&siSysInfo); 
Run Code Online (Sandbox Code Playgroud)

包含有关当前计算机系统的信息。这包括处理器的体系结构和类型、系统中处理器的数量、页面大小以及其他此类信息,请参阅此MS 站点