m_pThread = AfxBeginThread(ReadFileThread, this);
while(TRUE)
{
DWORD dResult;
MSG msg;
dResult = MsgWaitForMultipleObjects(1, &(m_pThread->m_hThread), FALSE, INFINITE, QS_ALLINPUT);
if(dResult == WAIT_OBJECT_0) //執行緒退出
break;
else if(dResult == WAIT_OBJECT_0 + 1) //有訊息達到
{
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
執行緒創建沒問題,但是while這一段用在檔案加載這個執行緒里行不通,說是換另一種訊息發送,我是新手,有沒有懂的,直接貼個代碼唄,謝謝!!
uj5u.com熱心網友回復:
沒有明白你要表達的意思 是不是要通過自定義訊息發送 自己百度下就好了uj5u.com熱心網友回復:
不是,不是,這個只有在加載資料檔案執行緒出錯,其他地方都可以,可能是換個MsgWaitForMultipleObjects函式,但是我不知道呀。
uj5u.com熱心網友回復:
還是先了解一下“自定義訊息”。搞清楚你的訊息來源,創建訊息回應
uj5u.com熱心網友回復:
什么叫行不通?編譯不過還是運氣起來沒有效果還是運行起來報例外?uj5u.com熱心網友回復:
設定斷點,運行起來一直在while里出不來,無線回圈
uj5u.com熱心網友回復:
那就看if(dResult == WAIT_OBJECT_0) 這行,dResult 的值肯定是一直都是不能跳出回圈的值uj5u.com熱心網友回復:
是的,但是別人程式同樣的確可以,不知道怎么修改轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127758.html
標籤:進程/線程/DLL
