TThread::GetSystemTimes - C++ Builder

C++ Builder 參考手冊 ? TThread ? GetSystemTimes


頭文件:#include <System.Classes.hpp>
命名空間:System::Classes
類:TThread
訪問權(quán)限:public:
函數(shù)原型:

static bool __fastcall GetSystemTimes(TSystemTimes &SystemTimes);

System::Classes::TThread::GetSystemTimes 是 System::Classes::TThread 的靜態(tài)成員函數(shù),為獲取 CPU 使用率所需的數(shù)據(jù)賦初始值。

參數(shù):

SystemTimes:獲取 CPU 使用率所需的數(shù)據(jù)。

返回值:

true:成功;false:失敗。

  • 獲取 CPU 使用率,需要先用 GetSystemTimes 獲取初始值,然后每次調(diào)用 GetCPUUsage 函數(shù),都會(huì)得到與獲取初始值的時(shí)刻或與上一次調(diào)用這個(gè)函數(shù)的時(shí)刻之間的 CPU 使用率;
  • GetCPUUsage 函數(shù)內(nèi)部也是調(diào)用 GetSystemTimes 獲取 CPU 使用率所需的數(shù)據(jù),通過兩次 GetSystemTimes 獲取的數(shù)據(jù)計(jì)算出這兩個(gè)獲取數(shù)據(jù)時(shí)刻之間的 CPU 使用率。

例子:實(shí)時(shí)獲取和顯示 CPU 使用率。

  1. 在 Form1 上:
    放一個(gè) TTimer 定時(shí)器控件 Timer1,用于每隔 1 秒刷新一次 CPU 使用率的值;
    放一個(gè) TProgressBar 進(jìn)度條控件 ProgressBar1,用于顯示 CPU 使用率;
    放一個(gè) TLabel 文字的控件 Label1 用于顯示 CPU 使用率的值;
在 Form1 上放控件 Timer1、ProgressBar1 和 Label1
  1. 在 Form1 頭文件的 TForm1 類的 private: 里面添加變量:
private:
    TThread::TSystemTimes SysTms;
在頭文件的 TForm1 類的 private: 里面添加變量
  1. 在 TForm1 的構(gòu)造函數(shù)里面給 SysTms 賦初始值;
    在 Timer1 的 OnTimer 事件里面刷新顯示 CPU 使用率:
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    TThread::GetSystemTimes(SysTms);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    int iCPUUsage = TThread::GetCPUUsage(SysTms);
    ProgressBar1->Position = iCPUUsage;
    Label1->Caption = UnicodeString().sprintf(L"%d%%", iCPUUsage);
}

運(yùn)行結(jié)果:

實(shí)時(shí)刷新顯示 CPU 使用率的運(yùn)行結(jié)果

參考:


C++ Builder 參考手冊 ? TThread ? GetSystemTimes

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容