<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    工作線程AfxBeginThread的使用

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    工作線程通常用來執行一些后臺任務,如:數據計算、后臺殺毒等等。因為不需要創建窗口和處理用戶消息,編寫比較容易,在程序中只要調用AfxBeginThread 函數就可以創建并啟動一個工作線程了。

    AfxBeginThread 的原型如下:

    CWinThread *AfxBeginThread( 
        AFX_THREADPROC pfnThreadProc,                           //指向控制函數的地址  
        LPVOID pParam,                                                     //指向傳遞給控制函數的參數  
        int  nPriority /* = THREAD_PRIORITY_NORMAL */ ,     //指定線程的優先級  
        UINT nStackSize /* = 0 */ ,                                      //指定堆棧大小  
        DWORD dwCreateFlags /* = 0 */ ,                            //創建標識  
        LPSECURITY_ATTRIBUTES lpSecurityAttrs /* = NULL */     //安全屬性  
    ) 

    從上面參數可以看到,只有前兩個參數是必須的,其余參數都使用默認的話,就可創建了一個具有普通優先級別的線程。

    示例:編寫一個應用程序,當在程序窗口按下鼠標左鍵,啟動一個線程,該線程可以在屏幕上顯示一個信息框。
    1.新建單文檔程序;
    2.在視圖類CPP文件添加一個準備作為線程的函數:

    UINT MessageThread(LPVOID pParam) 

        LPTSTR    pMessage = (LPTSTR)pParam; 
        CWnd *pMainWnd = AfxGetMainWnd(); 
        ::MessageBox(pMainWnd->m_hWnd, pMessage, _T("Thread Message" ), MB_OK); 
        return  0 
    } 

    3.在視圖類的鼠標左鍵消息響應函數中創建和啟動線程:

    void  CThreadTestView::OnLButtonDown(UINT nFlags, CPoint point) 

        AfxBeginThread(MessageThread, _T("Greetings from your thread!" )); 
        CView::OnLButtonDown(nFlags, point); 
    } 

    程序運行結果:

    RFID設備管理軟件

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全