根据进程句柄,获取该进程占用的内存。如果该进程占用内存超过4G(该进程属于64位程序),也能正确获取。我现在情况是,用WMI获取进程内存,如果该进程内存占用超过4G,不能获取。

解决方案 »

  1.   

    BOOL GetProcessMemoryInfo(
      HANDLE Process,
      PPROCESS_MEMORY_COUNTERS ppsmemCounters,
      DWORD cb
    );
      

  2.   

    给你一段代码
    //列举进程
    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    PROCESSENTRY32* processInfo = new PROCESSENTRY32;
    processInfo->dwSize = sizeof(PROCESSENTRY32);
        //int index = 0;
    while(Process32Next(hSnapShot,processInfo)!=FALSE)
    {
    if (strcmp("自己.exe",processInfo->szExeFile) == 0) 
    {
                            dword nSize = processInfo->dwSize;  
    }
    } CloseHandle(hSnapShot);
      

  3.   

    超过4G?AWE
    http://support.microsoft.com/kb/283037/en-us