获取内存信息

需要用到psapi.lib 并包含psapi.h

PSAPI   Functions 

The   following   are   the   PSAPI   functions. 

EmptyWorkingSet

EnumDeviceDrivers

EnumProcesses

EnumProcessModules

GetDeviceDriverBaseName

GetDeviceDriverFileName

GetMappedFileName

GetModuleBaseName

GetModuleFileNameEx

GetModuleInformation

GetProcessMemoryInfo

GetWsChanges

InitializeProcessForWsWatch

QueryWorkingSet      

1.进程内存

BOOL GetProcessMemoryInfo(   HANDLE Process,                          // handle to process

PPROCESS_MEMORY_COUNTERS ppsmemCounters,              // buffer

DWORD cb                                                                                               // size of buffer

The GetProcessMemoryInfo function retrieves information about the memory usage of the specified process in the PROCESS_MEMORY_COUNTERS structure. 

BOOL GetProcessIoCounters(   HANDLE hProcess,           // handle to process   PIO_COUNTERS lpIoCounters  // I/O accouting information );

 ---------------------------------------------------------------

typedef struct _PROCESS_MEMORY_COUNTERS {     

DWORD cb;     

DWORD PageFaultCount;     

SIZE_T PeakWorkingSetSize;     

SIZE_T WorkingSetSize;     

SIZE_T QuotaPeakPagedPoolUsage;    

 SIZE_T QuotaPagedPoolUsage;     

SIZE_T QuotaPeakNonPagedPoolUsage;     

SIZE_T QuotaNonPagedPoolUsage;     

SIZE_T PagefileUsage;     

SIZE_T PeakPagefileUsage; } 

PROCESS_MEMORY_COUNTERS; typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;

---------------------------------------------------------------

PPROCESS_MEMORY_COUNTERS结构里面的PagefileUsage就是虚拟内存大小

2.系统内存

CString   StrTotalMemory;

CString   StrUsedMemory;

CString   StrFreeMemory;

CString   StrInfo;

MEMORYSTATUS   MemStat;

MemStat.dwLength=sizeof(MEMORYSTATUS);

::GlobalMemoryStatus(&MemStat);

StrTotalMemory.Format("系统总内存:%ld字节,大约等于:%ld   M   Byte/n",    MemStat.dwTotalPhys,MemStat.dwTotalPhys/1024/1024);

StrFreeMemory.Format("系统可用内存:%ld字节,大约等于:%ld   M   Byte/n",    MemStat.dwAvailPhys,MemStat.dwAvailPhys/1024/1024);    

StrUsedMemory.Format("系统已用内存:%ld字节,大约等于:%ld   M   Byte/n",     MemStat.dwTotalPhys-MemStat.dwAvailPhys,     MemStat.dwTotalPhys/1024/1024-MemStat.dwAvailPhys/1024/1024);

StrInfo+=StrTotalMemory+StrUsedMemory+StrFreeMemory;    

AfxMessageBox(StrInfo);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值