www.pudn.com > OS.rar > 6-1.cpp


// 工程vmeminfo 
#include  
#include  
#include  
#include  
#pragma comment(lib, "shlwapi.lib") 
 
void main() 
{ 
    // 首先,让我们获得系统信息 
    SYSTEM_INFO si; 
    :: ZeroMemory(&si, sizeof(si) ) ; 
    :: GetSystemInfo(&si) ; 
 
    // 使用外壳辅助程序对一些尺寸进行格式化 
    TCHAR szPageSize[MAX_PATH]; 
    ::StrFormatByteSize(si.dwPageSize, szPageSize, MAX_PATH) ; 
 
    DWORD dwMemSize = (DWORD)si.lpMaximumApplicationAddress - 
          (DWORD) si.lpMinimumApplicationAddress; 
    TCHAR szMemSize [MAX_PATH] ; 
    :: StrFormatByteSize(dwMemSize, szMemSize, MAX_PATH) ; 
 
    // 将内存信息显示出来 
    std :: cout << "Virtual memory page size: " << szPageSize << std :: endl; 
 
    std :: cout.fill ('0') ; 
    std :: cout << "Minimum application address: 0x" 
            << std :: hex << std :: setw(8) 
            << (DWORD) si.lpMinimumApplicationAddress 
            << std :: endl; 
    std :: cout << "Maximum application address: 0x" 
            << std :: hex << std :: setw(8) 
            << (DWORD) si.lpMaximumApplicationAddress 
            << std :: endl; 
 
    std :: cout << "Total available virtual memory: " 
            << szMemSize << std :: endl ; 
}