windows mobile 如何获取进程占用的内存?
大家好,最近一直在研究一个进程所占的内存大小,但不知道采用什么办法。从codeproject中找到一个方法,但与我自己的任务管理器有差别,有没有好的方法可以获得一个进程所占的内存呢?
请大家帮我看看!
万分感谢了!
DWORD GetUsedMemory(DWORD pID)
{
DWORD memUsage = 0;
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPHEAPLIST, pID);
if (INVALID_HANDLE_VALUE != hSnapShot)
{
HEAPLIST32 heapList;
heapList.dwSize = sizeof(HEAPLIST32);
BOOL bOk = Heap32ListFirst(hSnapShot, &heapList);
for (; bOk; bOk = Heap32ListNext(hSnapShot, &heapList))
{
HEAPENTRY32 he;
he.dwSize = sizeof(HEAPENTRY32);
BOOL fOK = Heap32First(hSnapShot, &he, pID, heapList.th32HeapID);
for(; fOK; fOK = Heap32Next(hSnapShot, &he))
{
memUsage += he.dwBlockSize;
}
}
// 关闭快照句柄
CloseToolhelp32Snapshot(hSnapShot);
}
return memUsage;
}