• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            We do not always find visible happiness in proportion to visible virtue

            夢幻白樺林

            SHARE

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              14 Posts :: 58 Stories :: 62 Comments :: 0 Trackbacks

            公告

            常用鏈接

            留言簿(5)

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            本文主要介紹了Win32 API主消息循環的兩種處理方法:使用GetMessage方法構造主消息循環、使用PeekMessage方法構造主消息循環。

            (1)使用GetMessage方法構造主消息循環
            一般應用程序都使用用GetMessage方法構造主消息循環,該方法是獲得一條線程 的消息。對于VS2005自動生成的Win32 Windows程序上面有些不足。
            因為VS2005生成的主消息循環如下;
            // Main message loop:
            while (GetMessage(&msg, NULL, 0, 0))
            {
            if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
            {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
            }
            }
            簡單看看的確沒有問題,但是當我們去查閱MSDN文檔看到GetMessage消息時候可以看到這樣一段
            If there is an error, the return value is -1.
            所以我們應該把上面這個主循環修改為下面這樣的形式,增加一個臨死變量。
            // Main message loop:
            BOOL bRet;//臨時變量,存儲GetMessage方法返回值
            // Main message loop:
            while ((bRet = GetMessage(&msg, NULL, 0, 0))!=0)
            {
            if(bRet==-1){
            //表示GetMessage獲得的信息有錯誤
            }
            else
            {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
            }
            }

            (2)使用PeekMessage方法構造主消息循環
            PeekMessage常常用于Windows開發游戲中,PeekMessage在處理獲得消息時候和GetMessage一樣,關鍵不同的是PeekMessage在沒有消息處理的時候還會繼續保持循環激活狀態,并且繼續占用資源。
            // Main message loop:
            while (true)
            {
            if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
            if(msg.message == WM_QUIT){
            break;
            }
            else{
            TranslateMessage(&msg);
            DispatchMessage(&msg);
            }
            //表示GetMessage獲得的信息有錯誤
            }
            else{
            //循環處理的函數

            }
            }:

            posted on 2007-02-08 20:51 colys 閱讀(1073) 評論(0)  編輯 收藏 引用

            高清免费久久午夜精品| 久久久久免费视频| 日韩人妻无码精品久久免费一| 国内精品久久久久影院亚洲| 一本色道久久88综合日韩精品 | 久久午夜福利无码1000合集| 久久亚洲sm情趣捆绑调教 | 精品久久久久久无码人妻热 | 久久精品国产亚洲av高清漫画| 狠狠88综合久久久久综合网 | 国产亚州精品女人久久久久久 | 亚洲国产精品狼友中文久久久 | 亚洲va中文字幕无码久久不卡| 国产精品女同久久久久电影院| 国产国产成人久久精品| 久久久久久久91精品免费观看| 久久ww精品w免费人成| 久久久国产一区二区三区| 狠狠色狠狠色综合久久| 久久er国产精品免费观看8| 一本色道久久综合亚洲精品| 丁香久久婷婷国产午夜视频| 久久久久人妻一区二区三区vr| 香港aa三级久久三级老师2021国产三级精品三级在 | 狠狠精品干练久久久无码中文字幕| 久久精品青青草原伊人| segui久久国产精品| 久久综合给合久久国产免费 | 久久精品水蜜桃av综合天堂| 久久久久久久综合综合狠狠| 久久精品草草草| 狠狠狠色丁香婷婷综合久久五月 | 日日噜噜夜夜狠狠久久丁香五月| 久久综合久久伊人| 久久精品国产黑森林| 99久久亚洲综合精品网站| 97精品伊人久久大香线蕉app| 久久综合噜噜激激的五月天| 伊人久久精品无码二区麻豆| 久久久亚洲AV波多野结衣| 国内精品伊人久久久影院|