获取正在运行进程的已分配内存区域

谁能告诉我如何获得使用WinAPI函数内存分配内存区域的一些过程? 我想知道每个地区,起始地址,大小和其他一些东西,保护types等

我找不到任何WinAPI函数来执行它;-(

谁能帮我?

Solutions Collecting From Web of "获取正在运行进程的已分配内存区域"

在这里有使用VirtualQueryEx蛮力的代码:

 MEMORY_BASIC_INFORMATION mbi; /* Get maximum address range from system info */ GetSystemInfo(&si); /* walk process addresses */ lpMem = 0; while (lpMem < si.lpMaximumApplicationAddress) { VirtualQueryEx(...) /* increment lpMem to next region of memory */ lpMem = (LPVOID)((DWORD)lpList->mbi.BaseAddress + (DWORD)lpList->mbi.RegionSize); }