double getCpuUsage()
{
#ifdef Q_OS_WIN
static FILETIME s_preIdleTime = { 0, 0 };
static FILETIME s_preKernelTime = { 0, 0 };
static FILETIME s_preUserTime = { 0, 0 };
static bool isFirst = true;
FILETIME idleTime;
FILETIME kernelTime;
FILETIME userTime;
int idleCost = 0;
int kernelCost = 0;
int userCost = 0;
double rate = 0.0;
GetSystemTimes(&idleTime, &kernelTime, &userTime);
idleCost = CompareFileTime(&s_preIdleTime, &idleTime);
kernelCost = CompareFileTime(&s_preKernelTime, &kernelTime);
userCost = CompareFileTime(&s_preUserTime, &userTime);
s_preIdleTime = idleTime;
s_preKernelTime = kernelTime;

该博客介绍了在QT中如何获取CPU使用率的方法,通过GetSystemTimes函数获取系统空闲时间、内核时间和用户时间,并计算差值来得出CPU使用率。代码中包含了首次获取时的特殊处理和后续的计算逻辑。
最低0.47元/天 解锁文章
1万+





