HxUtils/HxSystem.h
2024-01-11 16:14:21 +08:00

85 lines
2.4 KiB
C++

#ifndef HXSYSTEM_H
#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