QQ登录

只需一步,快速开始

219上位机VC MFC系统内存大小等相关信息获取

[ 复制链接 ]

219上位机VC MFC系统内存大小等相关信息获取

219上位机VC MFC系统内存大小等相关信息获取
219上位机VC MFC系统内存大小等相关信息获取
功能展示
内存是计算机重要的属性,内存过少会使计算机假死,所以在我们编写的上位机程序运行占用大内存的功能前,得获得当前系统的内存状态,决定程序的具体操作,我们当前例程实现了系统内存相关信息的获取,效果如图;
要点提示
系统内存相关的信息如总大小,可用大小等等都可以通过函数GlobalMemoryStatus()来获得;函数原型:VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);
此函数无返回值,参数是一个指向名为MEMORYSTATUS的结构的指针。函数的返回信息会被存储在MEMORYSTATUS结构中。此函数用来替代用来支持16位应用程序的GetFreeSpace函数。
2G以上内存建议使用GlobalMemoryStatusEx函数代替(2~4G需要链接器/LARGEADDRESSAWARE选项,4G以上不支持)应用程序应该在申请内存前调用此函数以防止影响到其他程序运行。
这个函数的返回值是动态的,并且可能返回相同的值。
MEMORYSTATUS结构定义:
typedef struct _MEMORYSTATUS { DWORD dwLength; DWORD dwMemoryLoad; DWORD dwTotalPhys;DWORD dwAvailPhys; DWORD dwTotalPageFile; DWORD dwAvailPageFile; DWORD dwTotalVirtual;DWORD dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;
结构成员的含义:
dwLength :MEMORYSTATUS结构的大小,在调GlobalMemoryStatus函数前用sizeof()函数求得,用来供函数检测结构的版本。
dwMemoryLoad:返回一个介于0~100之间的值,用来指示当前系统内存的使用率。
dwTotalPhys:返回总的物理内存大小,以字节(byte)为单位。
dwAvailPhys:返回可用的物理内存大小,以字节(byte)为单位。
dwTotalPageFile:显示可以存在页面文件中的字节数。注意这个数值并不表示在页面文件在磁盘上的真实物理大小。
dwAvailPageFile:
返回可用的页面文件大小,以字节(byte)为单位。
dwTotalVirtual:
返回调用进程的用户模式部分的全部可用虚拟地址空间,以字节(byte)为单位。
dwAvailVirtual:
返回调用进程的用户模式部分的实际自由可用的虚拟地址空间,以字节(byte)为单位。
实现功能
1.新建基于对话框的应用程序
2.拖拽按钮<获取内存总容量等相关信息>关联函数获取内存相关信息;拖拽六个编辑框ID分别 为IDC_EDIT1,IDC_EDIT2,IDC_EDIT3,IDC_EDIT4,IDC_EDIT5,IDC_EDIT6,用于显示内存总容量,内存剩余容量,页面文件总大小,页面文件剩余大小,虚拟内存大小虚拟内存剩余大小
  1. void CGkbc8Dlg::OnGet()
  2. {
  3.         MEMORYSTATUS memory;
  4.         CString sText;
  5.         ::GlobalMemoryStatus(&memory);
  6. //        ::GlobalMemoryStatusEx(&memory);
  7.         sText.Format("%dMB",memory.dwTotalPhys/1048576);
  8.         SetDlgItemText(IDC_EDIT1,sText);
  9.         sText.Format("%dMB",memory.dwAvailPhys/1048576);
  10.         SetDlgItemText(IDC_EDIT2,sText);
  11.         sText.Format("%dMB",memory.dwTotalPageFile/1048576);
  12.         SetDlgItemText(IDC_EDIT3,sText);
  13.         sText.Format("%dMB",memory.dwAvailPageFile /1048576);
  14.         SetDlgItemText(IDC_EDIT4,sText);        
  15. sText.Format("%dMB",memory.dwTotalVirtual/1048576);
  16.         SetDlgItemText(IDC_EDIT5,sText);
  17.         sText.Format("%dMB",memory.dwAvailVirtual/1048576);
  18.         SetDlgItemText(IDC_EDIT6,sText);
  19. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:219.上位机VC MFC系统内存大小等相关信息获取.rar 
文件大小:127.72 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索