亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++定時器Timer在項目中的使用方法

 更新時間:2019年05月02日 09:48:56   作者:woniu-felix  
這篇文章主要給大家介紹了關于C++定時器Timer在項目中的基本使用方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C++具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

本文主要給大家介紹了關于C++定時器Timer在項目使用的相關內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

1、情況說明

由于最近要在項目里做彈出彈幕,要求是彈出1秒后消失,一開始我使用空循環(huán)進行計時,發(fā)現(xiàn)執(zhí)行到這段代碼CPU占用率上升十幾個百分點,后來改成定時器實現(xiàn),發(fā)現(xiàn)CPU表現(xiàn)正常。

2、空循環(huán)實現(xiàn)

ShowWindow(true);
time_t start_time = GetTickCount();
time_t now_time = start_time;
while((now_time - start_time) <= 1000)
{
now_time = GetTickCount();
};
ShowWindow(false);

后來查了一下資料,空循環(huán)為啥使CPU占用率大幅升高,空循環(huán)執(zhí)行快,在一個單位時間內(nèi)會被調度很多次;再者是因為現(xiàn)在cpu占用率的算法。

3、定時器實現(xiàn)

首先要包含<Windows.h>

可以設置定時器,也可以殺死它。

每個定時器都有一個id,設置定時器的時候可以自己設置它,方便后面定時器的管理。

設置定時器的時候需要設置回調函數(shù)。

這部分代碼如下

#include<Windows.h>
void CALLBACK HideWnd(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime);//回調函數(shù)聲明

//這2行在需要調用的時候調用,比如需要彈幕彈出來的時候。
ShowWindow(true);
SetTimer(m_hWnd,1, 1000, HideWnd);

void CALLBACK HideWnd(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime)//回調函數(shù)
{
 ShowWindow(hwnd, false);
 KillTimer(hwnd,1);
}

我這里在回調里面把定時器殺死了,這就實現(xiàn)了單次執(zhí)行。若是想每隔1秒執(zhí)行一次回調,可以不在回調中殺死定時器,在合適的地方再管理它。定時器每到時間,都會發(fā)WM_TIME消息,我們也可以響應這個消息去處理,這樣可以不用在回調中寫code。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • Qt中connect()函數(shù)及用法詳解

    Qt中connect()函數(shù)及用法詳解

    connect() 函數(shù)就是Qt 框架中用于將信號(SIGNAL)和槽(SLOT)關聯(lián)起來的核心函數(shù),本文給大家介紹Qt中connect()函數(shù),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • C語言實現(xiàn)掃雷小游戲的示例代碼

    C語言實現(xiàn)掃雷小游戲的示例代碼

    這篇文中主要為大家詳細介紹了如何利用C語言實現(xiàn)經(jīng)典的掃雷小游戲。掃雷小游戲主要是利用字符數(shù)組、循環(huán)語句和函數(shù)實現(xiàn),感興趣的小伙伴可以了解一下
    2022-10-10
  • 論C++的lambda是函數(shù)還是對象

    論C++的lambda是函數(shù)還是對象

    這篇文章主要介紹了論C++的lambda是函數(shù)還是對象,對于有捕獲的lambda,其等價于對象。對于沒有任何捕獲的lambda,其等價于函數(shù),下面來看看具體的相關內(nèi)容,需要的朋友可以參考一下
    2022-02-02
  • C++11?中的override詳解

    C++11?中的override詳解

    這篇文章主要介紹了C++11?中的override詳解,本文以重寫虛函數(shù)時,容易犯的四個錯誤為例,結合示例代碼給大家詳細介紹,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 完全掌握C++編程中構造函數(shù)使用的超級學習教程

    完全掌握C++編程中構造函數(shù)使用的超級學習教程

    這篇文章主要介紹了C++中的構造函數(shù),包括C++11標準中的新特性的介紹,十分推薦!需要的朋友可以參考下
    2016-01-01
  • C++計算24點的簡單程序

    C++計算24點的簡單程序

    這篇文章主要為大家詳細介紹了C++計算24點的簡單程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • MySQL系列教程之使用C語言來連接數(shù)據(jù)庫

    MySQL系列教程之使用C語言來連接數(shù)據(jù)庫

    c語言操作Mysql數(shù)據(jù)庫,主要就是為了實現(xiàn)對數(shù)據(jù)庫的增、刪、改、查等操作,下面這篇文章主要給大家介紹了關于MySQL系列教程之使用C語言來連接數(shù)據(jù)庫的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • C++中為何推薦要把基類析構函數(shù)設置成虛函數(shù)

    C++中為何推薦要把基類析構函數(shù)設置成虛函數(shù)

    這篇文章主要介紹了C++中為何推薦要把基類析構函數(shù)設置成虛函數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C語言對組文件處理的相關函數(shù)小結

    C語言對組文件處理的相關函數(shù)小結

    這篇文章主要介紹了C語言對組文件處理的相關函數(shù)小結,包括setgrent()函數(shù)和getgrent()函數(shù)以及endgrent()函數(shù),需要的朋友可以參考下
    2015-08-08
  • 基于C++泛型編程職工管理系統(tǒng)

    基于C++泛型編程職工管理系統(tǒng)

    這篇文章主要介紹了基于C++泛型編程職工管理系統(tǒng),前面介紹到了C++的泛型編程,并實現(xiàn)了萬能容器,不過那使用的是數(shù)組,今天呢咱帶大家實踐一下使用泛型技術,結合單鏈表實現(xiàn)一個職工管理系統(tǒng),需要的朋友可以參考一下
    2022-02-02

最新評論