我想获取大学项目的Windows系统进程(svchost,csrss)的工作集大小或页面错误计数等内存信息。
我正在使用winapi的GetProcessMemoryInfo(),但此功能仅适用于属于用户(me)的进程。我试图通过更改Windows中的用户权限和使用AdjustTokenPrivileges()的代码来更改调试权限,但这也不起作用。
我还能做什么?
编辑:
我认为失败的代码是:
for (unsigned int c=0;c<vPID.size();c++)
{
pmc={0};
hProceso=OpenProcess(PROCESS_ALL_ACCESS,FALSE,(DWORD)vPID[c]);
GetProcessMemoryInfo(hProceso,&pmc,sPMC);
CloseHandle(hProceso);
vPMC.push_back(pmc);
}
也许它不是最好或最有效的代码,但我正在开发我的想法。
vPID是我存储PID的向量。 vPMC是一个向量,我在其中存储每个进程的信息。