在windows环境中的应用程序,一般要有一个“关于”对话框,可以用来显示关于应用程序软件、开发者以及“操作系统”的信息。下面向工程中添加System Info组件,实现“”对话框中显示一些系统信息:

在Components and Controls Gallery对话框里选中“System Info for About Dialog”条目,单击Insert按钮,插入System Info组件。如果这时候链接、运行程序(不能通过编译),系统信息显示在“关于”对话框中还未起作用。下面对添加组件后增加的代码进行简单的修改:

BOOL CAboutDlg::OnInitDialog() { CDialog::OnInitDialog(); // CG: This was added by System Info Component. // CG: Following block was added by System Info Component. { CString strFreeDiskSpace; CString strFreeMemory; CString strFmt; // Fill available memory MEMORYSTATUS MemStat; MemStat.dwLength = sizeof(MEMORYSTATUS); GlobalMemoryStatus(&MemStat); strFmt.LoadString(CG_IDS_PHYSICAL_MEM); strFreeMemory.Format(strFmt, MemStat.dwTotalPhys / 1024L); //TODO: Add a static control to your About Box to receive the memory // information. Initialize the control with code like this: SetDlgItemText(IDC_PHYSICAL_MEM, strFreeMemory); // Fill disk free information struct _diskfree_t diskfree; int nDrive = _getdrive(); // use current default drive if (_getdiskfree(nDrive, &diskfree) == 0) { strFmt.LoadString(CG_IDS_DISK_SPACE); strFreeDiskSpace.Format(strFmt, (DWORD)diskfree.avail_clusters * (DWORD)diskfree.sectors_per_cluster * (DWORD)diskfree.bytes_per_sector / (DWORD)1024L, nDrive-1 + _T('A')); } else strFreeDiskSpace.LoadString(CG_IDS_DISK_SPACE_UNAVAIL); //TODO: Add a static control to your About Box to receive the memory // information. Initialize the control with code like this: SetDlgItemText(IDC_DISK_SPACE, strFreeDiskSpace); } return TRUE; // CG: This was added by System Info Component. }

其中MEMORYSTRUCT结构的定义如下:

typedef struct _MEMORYSTATUS {
DWORD dwLength;                //sizeof(MEMORYSTRUCT)

DWORD dwMemoryLoad;      //percentage of memory in use
SIZE_T dwTotalPhys;            //bytes of physical memory
SIZE_T dwAvailPhys;            //free physical memory bytes
SIZE_T dwTotalPageFile;      //bytes of paging file
SIZE_T dwAvailPageFile;      //free bytes of paging file
SIZE_T dwTotalVirtual;         //user bytes of address space
SIZE_T dwAvailVirtual;         //free user bytes
} MEMORYSTATUS, *LPMEMORYSTATUS;

还要记得向“关于”对话框的模板资源中添加标志号为IDC_PHYSICAL_MEM和IDC_DISK_SPACE的两个静态文本控件。

显示系统信息(System Info)相关推荐

  1. 【MacOS】Hammerspoon-sugood多合一效率工具,新增状态栏显示系统信息(CPU/内存/硬盘/网速)-v0.1.7

    运行环境要求 已测试可用的系统:MacOS 10.14 及以上 脚本功能说明 Github(国外地址) Gitee(国内地址) 已完成如下功能 状态栏显示输入法状态 时间同步功能 屏幕取色功能 JSO ...

  2. 25 uname-用于显示系统信息

    uname可显示电脑以及操作系统的相关信息. 语法 uname [-amnrsv][--help][--version] 参数说明: -a或--all 显示全部的信息.-m或--machine 显示电 ...

  3. CPU/ABI显示No system images installed for this target的解决方案

    CPU/ABI显示No system images installed for this target的解决方案 手动下载image http://www.androiddevtools.cn/ SD ...

  4. 电脑开机显示“Windows\system\vgaoem.fon”丢失的解决方法

    电脑开机显示"Windows\system\vgaoem.fon"丢失的解决方法 参考文章: (1)电脑开机显示"Windows\system\vgaoem.fon&qu ...

  5. 显示系统信息linux,如何使用Neofetch显示系统信息

    目的 了解如何安装,使用和自定义Neofetch以在终端中显示系统信息. 发行版 Neofetch可用于几乎Linux发行版. 要求 可以访问root用户以进行软件包安装的Linux安装. 困难 简单 ...

  6. ibm服务器面板显示,IBM System x服务器前面板指示灯说明(新版)

    操作员信息面板 [size=13.3333px]操作员信息面板指示诸如主板错误.以太网活动和电源状态的信息. [size=13.3333px] wKioL1gFh7DxNsWMAACc8p6lkK45 ...

  7. Dell服务器启动显示Entering System Servvice To cancel.

    1.Dell的服务器右上角突然就不显示F2 F10了.显示如下图所示的 内容.反复重启关机都没有用. 2.如果不管就会停留在下面的界面. 3.在百度上搜索了一下.发现断电是解决的有效方法,特此记录.将 ...

  8. linux显示系统信息软件下载,linux查看系统信息软件安装信息命令学习笔记

    查看LINUX安装版本 [root@localhost etc]# uname Linux [root@localhost etc]# uname -a Linux localhost.localdo ...

  9. Google Nexus 5 root后显示文件系统/system只读

    解决办法:装RE文件管理器设置可读写 root:kingroot软件很好用,还有刷机精灵. RE文件管理器:可以直接百度"安卓RE文件管理器"下载: 一键root然后在RE文件管理 ...

最新文章

  1. python 开始学习
  2. 神经网络的5种常见求导,附详细的公式过程
  3. 打开vsd_低温修正下的CDFA与VSD
  4. 【SICP练习】101 练习2.77-2.78
  5. 笔试题??智商题??(一)
  6. 《Network Warrior中文版(第2版)——思科网络工程师必备手册》一3.3 自动协商故障...
  7. RIP GlassFish –感谢所有的鱼。
  8. 【计算机思维】面向人的开发 站在巨人的肩膀上
  9. 增强火山图,要不要试一下?
  10. 阿里高级技术专家箫逸:如何画好一张架构图?
  11. android web view
  12. 计算机科学导论课后感,关于《计算机科学导论》课程教学的思考
  13. [C#/DevExpress]VS2010使用CefSharp调用Chrome内核打开网页
  14. 全球建筑物提取数据集(免费下载):微软/GlobalMLBuildingFootprints
  15. 验证码识别-Java版
  16. 2018千元内的UGP VR一体机开箱评测:ugp vr一体机怎么样真的好吗?
  17. ArcGIS栅格数据四参数七参数投影变换
  18. matlab 秒数转换时分秒,将秒转换为天时分秒格式字符串(如是0天0时0分就显示秒)...
  19. cad图纸怎么看懂_如何看懂CAD图?
  20. 纯前端实现登记照压缩宽高体积大小和换装功能

热门文章

  1. 关于我开始使用博客的这件事
  2. Python 第八篇:异常处理、Socket语法、SocketServer实现多并发、进程和线程、线程锁、GIL、Event、信号量、进程间通讯...
  3. 了解如何定义定义变量和调用函数
  4. Unity 3D游戏开发 - U3D入门 | 游戏场景基本操作
  5. epoll LT ET 区别 | Nginx epoll 原理 listend 用 LT
  6. 解决-画图程序无法读取-无效的位图文件
  7. java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop
  8. mysql list dbs_php mysql_list_dbs()函数用法示例
  9. matlab solve 解的范围,matlab怎么解方程,如何规定解的范围?
  10. 电脑更改桌面图标与图标文字的大小