2024-01-25 18:37:25 +08:00
|
|
|
|
#ifndef HXSYSTEM_H
|
2024-01-11 16:14:21 +08:00
|
|
|
|
#define HXSYSTEM_H
|
|
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
|
|
|
|
|
class HxSystem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取系统cpu型号
|
|
|
|
|
* @return 系统cpu型号
|
|
|
|
|
*/
|
|
|
|
|
static QString get_cpu_model();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取系统逻辑CPU的个数
|
|
|
|
|
* @return 系统逻辑CPU的个数
|
|
|
|
|
*/
|
|
|
|
|
static int get_logical_cpu_number();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取系统cpu温度
|
|
|
|
|
* @param temp cpu温度
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_cpu_temp(double *temp);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取系统cpu状态
|
|
|
|
|
* @param cpu_rate cpu使用率
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_cpu_status(double *cpu_rate);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取系统内存状态
|
|
|
|
|
* @param memory_use 已用内存
|
|
|
|
|
* @param memory_total 内存总大小
|
|
|
|
|
* @param swap_use 已用交换空间
|
|
|
|
|
* @param swap_total 交换空间总大小
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_memory_status(double *memory_use, double *memory_total, double *swap_use, double *swap_total);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取程序状态
|
|
|
|
|
* @param cpu_usage CPU使用率
|
|
|
|
|
* @param virtual_memory 虚拟内存使用量
|
|
|
|
|
* @param resident_memory 物理内存使用量
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_program_status(double *cpu_usage, double *virtual_memory, double *resident_memory);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取硬盘状态
|
|
|
|
|
* @param disk 路径
|
|
|
|
|
* @param file_system 文件系统(磁盘路径)
|
|
|
|
|
* @param size 总大小
|
|
|
|
|
* @param use 已用大小
|
|
|
|
|
* @param read_speed 读速度
|
|
|
|
|
* @param write_speed 写速度
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_harddisk_status(QString disk, QString *file_system, QString *size, QString *use, double *read_speed, double *write_speed);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取硬盘温度
|
|
|
|
|
* @param file_system 文件系统(磁盘路径)
|
|
|
|
|
* @param temperature 温度
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_harddisk_temperature(QString file_system, QString *temperature);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取硬盘健康状态
|
|
|
|
|
* @param file_system 文件系统(磁盘路径)
|
|
|
|
|
* @param smart 健康状态
|
|
|
|
|
* @return true: 成功; false 失败;
|
|
|
|
|
*/
|
|
|
|
|
static bool get_harddisk_smart(QString file_system, QString *smart);
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // HXSYSTEM_H
|