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; //已用内存
https://blog.csdn.net/hellokandy/article/details/78456559