0

システムの総物理メモリ使用量を計算したい。これは私のコードです:

float totalmem(){

    DWORDLONG totalVirtualMem;
    MEMORYSTATUSEX memInfo;
    float virtualMemUsed;

    memInfo.dwLength = sizeof(MEMORYSTATUSEX);
    GlobalMemoryStatusEx(&memInfo);
    totalVirtualMem = memInfo.ullTotalPageFile;
    virtualMemUsed = (double) (memInfo.ullTotalPageFile - memInfo.ullAvailPageFile) / memInfo.ullTotalPageFile * 100;
    return virtualMemUsed;
}

しかし、その答えは、Windowsのタスクマネージャーやプロセスエクスプローラーが示すものとは異なります。私のコードの何が問題になっていますか?

4

1 に答える 1

0

正しいコード:

float totalmem(){

DWORDLONG totalVirtualMem;
MEMORYSTATUSEX memInfo;
float virtualMemUsed;

memInfo.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&memInfo);
//totalVirtualMem = memInfo.ullTotalPageFile;
virtualMemUsed = (double) (memInfo.ullTotalPhys - memInfo.ullAvailPhys) / memInfo.ullTotalPhys * 100;
return virtualMemUsed;
}
于 2012-07-30T09:00:22.080 に答える