进程内存计数器是psapi(进程状态API)中可用的已定义结构。其结构定义为
typedef struct _PROCESS_MEMORY_COUNTERS {
DWORD cb;
DWORD PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
} PROCESS_MEMORY_COUNTERS;
我使用具有语法的GetProcessMemoryInfo方法,
BOOL GetProcessMemoryInfo(HANDLE Process, PROCESS_MEMORY_COUNTERS* pmc,DWORD size_pmc);
从结构变量指针pmc中,我可以将进程的WorkingSetSize(例如mspaint.exe)作为pmc.WorkingSetSize访问。
但是任务管理器中显示的内存值与structre中的任何值都不相同。我的问题是,
PS:首选语言是C ++,我想这样做而不在命令提示符下运行任何命令。