我正在尝试在Windows 7 32位上的C++应用程序中使用GetProcessMemoryInfo
函数psapi.h
。
我遵循了一些教程,并且做了类似的事情:
PPROCESS_MEMORY_COUNTERS pMemCountr;
pMemCountr = new PROCESS_MEMORY_COUNTERS();
bool result = GetProcessMemoryInfo(GetCurrentProcess(),
pMemCountr,
sizeof(PPROCESS_MEMORY_COUNTERS));
问题是我总是从
GetProcessMemoryInfo()
方法的执行中获得“假”。我在这里做错了什么? 最佳答案
问题是
sizeof(PPROCESS_MEMORY_COUNTERS)
产生
PPROCESS_MEMORY_COUNTERS
的大小,它是PROCESS_MEMORY_COUNTERS*
类型的指针(注意开头是double P
)。你想要的是
sizeof(PROCESS_MEMORY_COUNTERS)
另外,如果没有
new
,您也会变得更好:PROCESS_MEMORY_COUNTERS memCounter;
BOOL result = GetProcessMemoryInfo(GetCurrentProcess(),
&memCounter,
sizeof( memCounter ));