wanzhisong 发表于 2021-11-16 18:23

关于C++获取内存和实际内存不相符

本帖最后由 wanzhisong 于 2021-11-16 18:30 编辑

最近在一些工具想获取本机得内存 16G内存但是使用了   只能获取到8G得大小,想问问各位有没有对这块了解得大佬,给点想法,或者意见
MEMORYSTATUSEX MemoryStatus;
      GlobalMemoryStatusEx(&MemoryStatus);

      CString strText = _T("");
      strText.Format(_T("物理内存使用率:%d%s"), MemoryStatus.dwMemoryLoad, _T("%"));

      strText.Format(_T("物理内存总数:%dK"), MemoryStatus.ullTotalPhys/1024);//测试该条
获取到的内存和实际得不相符,所以来这里问问,各位大佬有没有好的思路还是我用错了方法谢谢

csl1978 发表于 2021-11-16 18:53

学习来了

xinTzc 发表于 2021-11-16 18:56

来学习c++

阳光肥肥 发表于 2021-11-16 19:18

https://www.cnblogs.com/sunshineman1986/p/7629559.html
这里说在GlobalMemoryStatusEx之前应该有
statex.dwLength = sizeof (statex);

微笑怪士 发表于 2021-11-16 19:27

考虑过用vbs脚本莫?
c++写个函数,生成一个vbs来获取总内存和当前使用内存,输出的时候用json即可。
之后去允许vbs,直接解析json即可。

--------------
win下的解决方案。之前写个一个win下的php探针程序

云在天 发表于 2021-11-16 22:37

#include <windows.h>

#include <iostream>

using namespace std;
int main(int argc, char* argv[])
{
    MEMORYSTATUSEX MemoryStatus;
    MemoryStatus.dwLength = sizeof(MemoryStatus);
    GlobalMemoryStatusEx(&MemoryStatus);
    cout<<"物理内存总数"<<MemoryStatus.ullTotalPhys/1024<<endl;
}

wanzhisong 发表于 2021-11-17 11:07

阳光肥肥 发表于 2021-11-16 19:18
https://www.cnblogs.com/sunshineman1986/p/7629559.html
这里说在GlobalMemoryStatusEx之前应该有
stat ...

谢谢您!

wanzhisong 发表于 2021-11-17 11:08

微笑怪士 发表于 2021-11-16 19:27
考虑过用vbs脚本莫?
c++写个函数,生成一个vbs来获取总内存和当前使用内存,输出的时候用json即可。
之 ...

还没有接触过vbs 只是一直在C++和MF混混

wanzhisong 发表于 2021-11-17 11:17

云在天 发表于 2021-11-16 22:37
#include

#include


谢谢老哥 你的签名图片 很赞

71q3M5cT9a 发表于 2021-11-18 20:28

学习API的时候一定要注意各个参数如何使用,一定要多看原始的文档。
页: [1] 2
查看完整版本: 关于C++获取内存和实际内存不相符