在对话框中,当按下某个BUTTON时, 中断正在执行的工作线程序, 请教在工作线程中怎样实现

在对话框中,当按下某个BUTTON时, 中断正在执行的工作线程序, 请问在工作线程中怎样实现?

代码如下写:对不对???

UINT   ThreadFunction(LPVOID   pParam)
{        
        MSG   msg;
        if   (::PeekMessage(&msg,NULL,0,0,PM_REMOVE))   {//从Windows消息队列中取出消息
if   (msg.message==   WM_QUIT)//如果消息为退出,发送退出消息                                 {      
                                        //停止前的处理。。。。                                               AfxThreadEnd(0);
                                    }else
                                    {
                                        //执行程序...
                                    }
                         
        return   0;
       
}

//启动线程
CWinThread   *pThread;
pThread=AfxBeginThread((AFX_THREADPROC)ThreadFunction,   this);


//退出线程
::PostThreadMessage(pThread-> m_nThreadID,   WM_QUIT,   0,   0);

------解决方案--------------------
要安全退出最好用Event,外部SetEvent,线程函数里WaitForSingleObject等待该事件。
------解决方案--------------------
http://topic.****.net/t/20010821/19/249613.html
------解决方案--------------------
while(1)
{
DWORD result = WaitForSingleObject(quitEvent, 0);
if (WAIT_OBJECT_0 == result) break;


......

}


-------------------------------------------------------
广告:VC/WinAPI 网络/多线程讨论 QQ群, 群号:41356711