• <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ā). 勤為槳,思為帆

               :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理 ::
              73 隨筆 :: 4 文章 :: 22 評(píng)論 :: 0 Trackbacks
            采用PostThreadMessage即可
            BOOL PostThreadMessage(
              DWORD idThread,     //線程ID,通過(guò)創(chuàng)建線程后的id
              UINT  Msg,           //消息id
              WPARAM wParam,    
              LPARAM lParam);
            然后在線程通過(guò)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的作用是指定消息獲取的方式,如果設(shè)為PM_NOREMOVE,那么消息將不會(huì)從消息隊(duì)列中被移出,如果設(shè)為PM_REMOVE,那么消息將會(huì)從消息隊(duì)列中被移出;

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

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


            Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1573835
            posted on 2009-03-22 13:06 kenlistian 閱讀(2553) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): cpp
            亚洲午夜无码AV毛片久久| 久久久久亚洲AV成人网人人网站| 亚洲国产高清精品线久久| 久久久久久国产a免费观看不卡| 久久久WWW成人免费毛片| 久久午夜无码鲁丝片秋霞| 久久国产色AV免费观看| 久久亚洲国产午夜精品理论片 | 久久久久久精品免费免费自慰| 婷婷久久香蕉五月综合加勒比| 精品久久一区二区三区| 久久精品中文字幕第23页| 国产精品久久午夜夜伦鲁鲁| 久久99国产精品久久99小说| 久久精品无码一区二区三区| 亚洲午夜久久久久妓女影院| 久久综合视频网站| 久久婷婷五月综合97色| 国产精品久久新婚兰兰| 国产AV影片久久久久久 | 狠狠色丁香久久综合五月| 亚洲va久久久久| 国产99久久久国产精免费| 精品国际久久久久999波多野| 日韩十八禁一区二区久久| 99热成人精品免费久久| 国产成人久久精品一区二区三区 | 国产精品欧美久久久久无广告 | 亚洲精品国精品久久99热一| 久久久久黑人强伦姧人妻| 伊人久久大香线蕉影院95| 精品综合久久久久久888蜜芽| 亚洲香蕉网久久综合影视| 亚洲伊人久久综合中文成人网| 久久精品成人欧美大片| 伊人丁香狠狠色综合久久| 26uuu久久五月天| 国产精品美女久久久免费| 久久国产精品免费一区二区三区| 亚洲精品高清久久| 久久艹国产|