获取 RAM 系统大小

新手上路,请多包涵

我想知道如何通过 C++(在 Windows 7 上)获取我的 RAM 大小。

原文由 Octopus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 491
1 个回答

使用 GetPhysicallyInstalledSystemMemory 检索 实际安装 在计算机上的 RAM 量。

(请注意,这需要 Windows Vista SP1 或更高版本。该功能在早期版本的 Windows 操作系统上不可用。)

MSDN上的 评论 说:

GetPhysicallyInstalledSystemMemory 函数从计算机的 SMBIOS 固件表中检索物理安装的 RAM 量。 这可能与 GlobalMemoryStatusEx 函数报告的数量不同,后者将 MEMORYSTATUSEX 结构的 ullTotalPhys 成员设置为可供操作系统使用的物理内存量。操作系统可用的内存量可能少于计算机中物理安装的内存量,因为 BIOS 和某些驱动程序可能会将内存保留为内存映射设备的 I/O 区域,从而使内存对操作系统不可用和应用。

GetPhysicallyInstalledSystemMemory 函数检索的物理内存量必须等于或大于 GlobalMemoryStatusEx 函数报告的量; 如果小于,则 SMBIOS 数据格式错误并且函数失败并显示 ERROR_INVALID_DATA。格式错误的 SMBIOS 数据可能表明用户的计算机存在问题。

这意味着,您还想查看 GlobalMemoryStatusEx

原文由 Nawaz 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题