1、获取系统内存信息有2个api,分别是GlobalMemoryStatus和GlobalMemoryStatusEx。GlobalMemoryStatus函数可以在C语言里直接调用,但是GlobalMemoryStatusEx却不可以直接调用。
2、看看这2个函数的不同,总的来说这2个函数都可以获取到内存信息,但是GlobalMemoryStatusEx函数是GlobalMemoryStatus函数的增强,GlobalMemoryStatus虽然可以获取,但当你的机器里装了2条内存条是,它只能获取到一条的内存信息容量,而GlobalMemoryStatusEx函数却可以获取到所有,只要你系统识别的内存大小。
附上代码:
//内存(单位:MB)
MEMORYSTATUSEX MemStat;
MemStat.dwLength = sizeof(MEMORYSTATUSEX);
::GlobalMemoryStatusEx(&MemStat);
int nTotal = MemStat.ullTotalPhys/1024/1024; //总内存
int nAvail = MemStat.ullAvailPhys/1024/1024; //可用内存
int nUsed = nTotal - nAvail; //已用内存
本文介绍了两种获取系统内存信息的方法:GlobalMemoryStatus与GlobalMemoryStatusEx。后者为前者增强版,能更准确地获取多条内存条的总容量。文中还提供了使用GlobalMemoryStatusEx函数的示例代码。
2817

被折叠的 条评论
为什么被折叠?



