先定义get_cpu_usage方法
定义
static void CALLBACK get_cpu_usage(HWND hwnd,
UINT message,
UINT_PTR idTimer,
DWORD dwTime);
实现
void CALLBACK Conductor::get_cpu_usage(HWND hwnd,
UINT message,
UINT_PTR idTimer,
DWORD dwTime
) {
all_ration += get_proc_cpu();
count += 1;
float ave = (float)all_ration / count;
RTC_LOG(LS_INFO) << "The average ratio is:" << ave ;
}
注意:是static方法,并且参数格式需要按照SetTimer中TIMERPROC方法的格式定义
SetTimer(
_In_opt_ HWND hWnd,
_In_ UINT_PTR nIDEvent,
_In_ UINT uElapse,
_In_opt_ TIMERPROC lpTimerFunc);
其中TIMERPROC格式为
typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT_PTR, DWORD);
最后使用SetTimer方法:
SetTimer(NULL, 1, 1000, get_cpu_usage);