• <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>

            kenlistian

            厚積薄發(fā). 勤為槳,思為帆

               :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
              73 隨筆 :: 4 文章 :: 22 評論 :: 0 Trackbacks
            采用PostThreadMessage即可
            BOOL PostThreadMessage(
              DWORD idThread,     //線程ID,通過創(chuàng)建線程后的id
              UINT  Msg,           //消息id
              WPARAM wParam,    
              LPARAM lParam);
            然后在線程通過GetMessage or PeekMessage去獲取該消息.

            代碼片段如下:
            unsigned int CALLBACK thread_func(LPVOID lp)
            {
            while(1)
            {
            MSG msg;
            while (GetMessage(&msg, NULL,  0, 0)) 
            //while (PeekMessage(&msg, NULL,  0, 0,PM_REMOVE)) 
            switch(msg.message) 
            case WM_MYMESSAGE:
            printf("\n *thread_func1:%d", msg.wParam);
            break;
            }
                    } 
            }

            其中發(fā)送線程片段如下:
            UINT dwId
            _beginthreadex(NULL, 0, thread_func, NULL, 0, &dwId);
                    ...



            附:
            GetMessage(LPMSG lpMsg,  HWND hWnd,   UINT wMsgFilterMin,   UINT wMsgFilterMax)
            PeekMessage(LPMSG lpMsg,  HWND hWnd,   UINT wMsgFilterMin,   UINT wMsgFilterMax,UINT wRemoveMsg)

                參數(shù)wRemoveMsg的作用是指定消息獲取的方式,如果設為PM_NOREMOVE,那么消息將不會從消息隊列中被移出,如果設為PM_REMOVE,那么消息將會從消息隊列中被移出;

                兩個函數(shù)主要有以下兩個區(qū)別: 
                1.GetMessage將等到有合適的消息時才返回,而PeekMessage只是撇一下消息隊列。(GetMessage 處于掛起等待消息來,而PeekMessage則不管有不有消息都返回)
                2.GetMessage會將消息從隊列中刪除,而PeekMessage可以設置最后一個參數(shù)wRemoveMsg來決定是否將消息保留在隊列中。(如果保留在隊列中,最好立即處理)

                  在Windows的內(nèi)部,GetMessage和PeekMessage執(zhí)行著相同的代碼。而兩者最大的不同之處則體現(xiàn)在沒有任何消息返回到應用程序的情況下。在此種情況下,PeekMessage會返回一個空值到應用程序,GetMessage會在此時讓應用程序休眠。
            (如果在線程中使用,用GetMessage or PeekMessage都無所謂,不需要考慮消息隊列的remove,消息隊列在各個線程中不過是個拷貝?而已.)


            Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1573835
            posted on 2009-03-22 13:06 kenlistian 閱讀(2564) 評論(0)  編輯 收藏 引用 所屬分類: cpp
            久久亚洲精品成人无码网站| 97精品伊人久久久大香线蕉| 久久99精品久久久大学生| 久久人爽人人爽人人片AV| 国产综合久久久久| 久久成人永久免费播放| 青青草原综合久久大伊人导航| 国产69精品久久久久观看软件 | 精品国产日韩久久亚洲| 91久久精一区二区三区大全| 欧美色综合久久久久久| 亚洲成色www久久网站夜月| 久久综合九色综合欧美就去吻 | 久久99精品久久久久久秒播| 精品一二三区久久aaa片| 国产精品女同一区二区久久| 久久被窝电影亚洲爽爽爽| 久久精品国产第一区二区三区| 日本久久中文字幕| 99久久精品国产一区二区三区| 99久久精品日本一区二区免费| 久久精品国产精品亚洲人人| 国产精品美女久久久久av爽 | 国内精品久久久久久久涩爱| 久久棈精品久久久久久噜噜| 亚洲?V乱码久久精品蜜桃| 国产精品99久久久久久宅男| avtt天堂网久久精品| 久久精品国产亚洲AV电影| 一本色综合网久久| 久久亚洲国产精品成人AV秋霞| 国产精品99久久久精品无码| 无码任你躁久久久久久久| 久久精品中文字幕一区| 伊人丁香狠狠色综合久久| 精品国产福利久久久| 久久精品九九亚洲精品天堂| 久久久综合九色合综国产| 成人亚洲欧美久久久久| 四虎国产永久免费久久| 久久91这里精品国产2020|