在CFormView里怎么让worker线程与UI交互

在CFormView里如何让worker线程与UI交互
最近做一个程序,CFromView的单文档工程,使用一条worker线程遍历文件夹,找到需要的文件就把信息输到一个主窗口的CListCtrl里面,但是问题出现了:

无论我在线程参数里面传CListCtrl的指针还是主窗口句柄,都没办法完成和UI的通讯.程序界面会死掉,部分代码如下:

线程参数定义为:
typedef   struct   _THREAD_PARAM
{
HWND       m_hWnd;       //CListCtrl所在的父窗口句柄
TCHAR   *m_Path;       //欲遍历的文件夹
}

线程代码如下:

::SetCurrentDirectory(pThreadParam-> m_szPath);
bWorking   =   finder.FindFile( "*.zip ",   0);
while(bWorking){
bWorking   =   finder.FindNextFile();

HUNZIP             huz;
ZIPENTRY         ze;

strcpy(ze.Name,   "test.xml ");
memset(szFileName,   0x00,   MAX_PATH);
sprintf(szFileName,   "%d ",   i);
strPath   =   finder.GetFilePath();
UnzipOpenFile(&huz,   strPath.GetBuffer(0),   0);
UnzipFindItem(huz,   &ze,   0);
memset(szFileName,   0x00,   MAX_PATH);
sprintf(szFileName,   "%d.xml ",   i);
UnzipItemToFile(huz,   finder.GetFileName()+ ".xml ",   &ze);
UnzipClose(huz);
::SendMessage(pThreadParam-> m_hWnd,   WM_UNZIPFINISHED,   (WPARAM)i,   (LPARAM)szFileName);
i++;
}
请各位帮帮忙,分不够可以再加.

------解决方案--------------------
SendMessage很容易造成死锁的
用SendMessageTimeOut
参见http://www.microsoft.com/downloads/details.aspx?FamilyID=b17f819f-f5ec-4e7e-865e-fb9899908aeb&displaylang=en