zoukankan      html  css  js  c++  java
  • 获取系统信息(CPU、内存等)

    简述

    获取计算机CPU、主板、内存、硬盘、网卡这些信息,Qt中没有相应的处理,所以需要根据平台来做差异化处理。也许Qt为了跨平台,没有提供与操作系统和硬件密切相关的一些功能(如内存、CPU、硬盘等相关信息)。

    获取CPU信息

    Linux

    很简单,直接读取这几个文件就好了。

    /proc/cpuinfo     处理器信息 
    /proc/meminfo     物理内存信息 
    /proc/vmstat       虚拟内存信息 

    Windows

    调用相应的Win API来获取,GetSystemInfo用于返回关于当前系统的信息。

    SYSTEM_INFO systemInfo;
    GetSystemInfo(&systemInfo);
    
    qDebug() << QStringLiteral("处理器掩码:%1").arg(systemInfo.dwActiveProcessorMask);
    qDebug() << QStringLiteral("处理器个数:%1").arg(systemInfo.dwNumberOfProcessors);
    qDebug() << QStringLiteral("处理器分页大小:%1").arg(systemInfo.dwPageSize);
    qDebug() << QStringLiteral("处理器类型:%1").arg(systemInfo.dwProcessorType);
    qDebug() << QStringLiteral("最大寻址单元:") << systemInfo.lpMaximumApplicationAddress;
    qDebug() << QStringLiteral("最小寻址单元:") << systemInfo.lpMinimumApplicationAddress;
    qDebug() << QStringLiteral("处理器等级:%1").arg(systemInfo.wProcessorLevel);
    qDebug() << QStringLiteral("处理器版本:%1").arg(systemInfo.wProcessorRevision);

    获取内存信息

    #define MB (1024 * 1024)
    MEMORYSTATUSEX statex;
    statex.dwLength = sizeof(statex);
    GlobalMemoryStatusEx(&statex);
    qDebug() << QStringLiteral("物理内存使用率:%1").arg(statex.dwMemoryLoad);
    qDebug() << QStringLiteral("物理内存总量:%1").arg(statex.ullTotalPhys / MB);
    qDebug() << QStringLiteral("可用的物理内存:%1").arg(statex.ullAvailPhys / MB);
    qDebug() << QStringLiteral("系统页面文件大小:%1").arg(statex.ullTotalPageFile / MB);
    qDebug() << QStringLiteral("系统可用页面文件大小:%1").arg(statex.ullAvailPageFile / MB);
    qDebug() << QStringLiteral("虚拟内存总量:%1").arg(statex.ullTotalVirtual / MB);
    qDebug() << QStringLiteral("可用的虚拟内存:%1").arg( statex.ullAvailVirtual / MB);
    qDebug() << QStringLiteral("保留(值为0):%1").arg(statex.ullAvailExtendedVirtual / MB);
  • 相关阅读:
    自定义Maven Archetype模板
    [Discuz!NT] Crash问题记录
    echarts渐变色实现方法
    关于windows7 IIS 7.5和Vista IIS 7.0 局域网无法访问的解决方法
    返回接口信息
    [转]简易下拉框式日期选择器(带闰平年判断)
    漂亮的验证码
    EXT.NET 使用 Ueditor编辑器,并在后台获取的方法
    WIN7 IIS不能显示特殊图片 “+”,""号的图片需要转义才可以显示
    人才网查找职位的复杂SQL用法
  • 原文地址:https://www.cnblogs.com/itrena/p/5938285.html
Copyright © 2011-2022 走看看