windows簡單呈現

來源:互聯網
上載者:User
//************************************************************************************//本程式使用了兩種實現定時的方法,都是基於API的,而不是MFC////  1. 是使用線程定時休眠的方法,啟動線程ThreadProc,線上程中輸出,然後Sleep 1000ms//   //  2. 使用定時器方法,設定一個1000ms的定時器(SetTimer),然後捕捉該訊息,然後調用回呼函數//     TimerProc,在該函數中輸出DEF,注意,SetTimer可以直接寫回呼函數地址,不必捕捉訊息。//  3. 本例子已經很詳細了。//  4. 祝你好運。////************************************************************************************#include "stdafx.h"#include <windows.h>DWORD WINAPI ThreadProc(  LPVOID lpParameter )//方法1{static DWORD tick=0;DWORD tmp = GetTickCount();while(1){   tick = GetTickCount()-tmp;//獲得系統從啟動開始到現在的ms數tmp = GetTickCount();printf("THREAD_PROC: abc %d, tickcount: %d\n",tick,tmp);//列印abc和上次列印到這次列印之間的毫秒間隔。Sleep(1000);//每隔1000ms列印abc}}VOID  TimerProc()//方法2{   static DWORD tick=0;static DWORD tmp = GetTickCount(); tick = GetTickCount()-tmp;tmp = GetTickCount();printf(" TimerProc________________def %d\n",tick);}int main(){DWORD dwthread;     ::CreateThread(NULL,0,ThreadProc,(LPVOID)0,1024,&dwthread);//產生一個線程,在該線程裡每1000ms輸出一個"abc",然後SLEEPSetTimer(0,0,1000,0);//設定一個定時器,定時器的回呼函數為0,僅產生定時器訊息,在main函數裡捕捉該訊息MSG msg;bool flag;    while(1)//該迴圈捕捉定時器訊息,並且防止main函數退出{PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE); while( (flag = GetMessage( &msg, NULL, 0, 0 )) != 0) {     if (flag == -1)   {    // handle the error and possibly exit   }   else if(msg.message==WM_TIMER)   {   TimerProc();//如果是定時器訊息,調用timerproc  }   else   {    TranslateMessage(&msg);      DispatchMessage(&msg);     } } }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.