• 获取系统信息(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);
  • 相关阅读:
    第 9 章 类
    导入模块
    第 8 章 函数
    第七章 用户输入和while语句
    第六章 字典
    测试经理/组长职责
    测试的发展之路
    【转】测试流程
    一个网页通用的测试用例(借鉴他人的保存,加注释)
    QTP自动化测试框架简述
  • 原文地址:https://www.cnblogs.com/itrena/p/5938285.html
Copyright © 2020-2023  润新知