C++ Builder 参考手册 ➙ TThread ➙ GetSystemTimes
头文件:
#include <System.Classes.hpp>
命名空间:
System::Classes
类:
TThread
访问权限:
public:
函数原型:
static bool __fastcall GetSystemTimes(TSystemTimes &SystemTimes);
System::Classes::TThread::GetSystemTimes 是 System::Classes::TThread 的静态成员函数,为获取 CPU 使用率所需的数据赋初始值。
SystemTimes:获取 CPU 使用率所需的数据。
true:成功;false:失败。
获取 CPU 使用率,需要先用 GetSystemTimes 获取初始值,然后每次调用 GetCPUUsage 函数,都会得到与获取初始值的时刻或与上一次调用这个函数的时刻之间的 CPU 使用率;
GetCPUUsage 函数内部也是调用 GetSystemTimes 获取 CPU 使用率所需的数据,通过两次 GetSystemTimes 获取的数据计算出这两个获取数据时刻之间的 CPU 使用率。
例子:实时获取和显示 CPU 使用率。
在 Form1 上:
放一个 TTimer 定时器控件 Timer1,用于每隔 1 秒刷新一次 CPU 使用率的值;
放一个 TProgressBar 进度条控件 ProgressBar1,用于显示 CPU 使用率;
放一个 TLabel 文字的控件 Label1 用于显示 CPU 使用率的值;
TThread::GetSystemTimes(SysTms);
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
int iCPUUsage = TThread::GetCPUUsage(SysTms);
ProgressBar1->Position = iCPUUsage;
Label1->Caption = UnicodeString().sprintf(L"%d%%", iCPUUsage);
运行结果:
System::Classes::TThread::TSystemTimes
System::Classes::TThread::GetCPUUsage
System::Classes::TThread::IsSingleProcessor
System::Classes::TThread::ProcessorCount
System::Classes::TThread