我想获取硬件信息,例如CPU、RAM、硬盘、GPU等。我的应用程序是基于Qt构建的C++应用。如何获取这些信息?谢谢。
编辑:看起来没有平台无关的方法可以做到这一点。所以,您能否列出Windows、OSX和Ubuntu等知名操作系统的代码?
编辑:我说的是基本信息,比如处理器速度、可用RAM数量、硬盘速度、GPU速度和内存。
微软提供了一些函数可通过编程方式查找这些信息(包括Windows.h):
BOOL WINAPI GetPhysicallyInstalledSystemMemory( _Out_ PULONGLONG TotalMemoryInKilobytes );
获取有关RAM的信息,请参阅文档。
BOOL WINAPI GetDiskFreeSpaceEx(
_In_opt_ LPCTSTR lpDirectoryName,
_Out_opt_ PULARGE_INTEGER lpFreeBytesAvailable,
_Out_opt_ PULARGE_INTEGER lpTotalNumberOfBytes,
_Out_opt_ PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
获取磁盘卷上可用空间的信息,详见文档。
SYSTEM_INFO siSysInfo;
// Copy the hardware information to the SYSTEM_INFO structure.
GetSystemInfo(&siSysInfo);
包含有关当前计算机系统的信息。这包括处理器的架构和类型、系统中的处理器数量、页面大小以及其他相关信息,请参见此Microsoft网站。