【摘要】1、获取系统cpu: 使用WindowsAPI函数GetSystemTimes(),为获取当前使用率,通过执行两次的方式进行差值比较。在win7,win10上试验结果准确,具体用法参考下列代码: //Windows程序获取cpu占用率 void GetCpuUsage_WIN(double* CPUResult) { CPUResult[0] = 0; CPUResult...
1、获取系统cpu:
使用WindowsAPI函数GetSystemTimes(),为获取当前使用率,通过执行两次的方式进行差值比较。在win7,win10上试验结果准确,具体用法参考下列代码:
//Windows程序获取cpu占用率 void GetCpuUsage_WIN(double* CPUResult) { CPUResult[0] = 0; CPUResult[1] = 0; FILETIME ftIdle, ftKernel, ftUser; //GetSystemTimes()获取系统CPU空闲时间、内核时间、用户时间 if (GetSystemTimes(&ftIdle, &ftKernel, &ftUser)) { m_fOldCPUIdleTime = FileTimeToDouble(&ftIdle); m_fOldCPUKernelTime = FileTimeToDouble(&ftKernel); m_fOldCPUUserTime = FileTimeToDouble(&ftUser); //printf("自开机来的平均CPU占用率:%2.f%%", 100 * (1 - (m_fOldCPUIdleTime) / (m_fOldCPUKernelTime + m_fOldCPUUserTime))); //printf(" %2.f%%\n", 100 * (m_fOldCPUIdleTime) / (m_fOldCPUKernelTime + m_fOldCPUUserTime)); } Sleep(1000); if (GetSystemTimes(&ftIdle, &ftKernel, &ftUser)) { m_fOldCPUIdleTime = FileTimeToDouble(&ftIdle) - m_fOldCP