以下是我的线程函数,最初我在线程里调用CWMPPlayer4.create(),但查了下工作者线程里不能创建窗口于是通过发送消息pMyWnd->SendMessage(WM_CREATEMEDIA);来在外面创建,但是虽然没报错,但是却播放不了文件,把pMyWnd->m_cWMPlayer.SetUrl(m_PlayList[i].GetBuffer(0));放在外面就可以,高手帮帮忙啊!
HRESULT CMyWorkDlg::MediaThreadFuc(LPVOID pParam)
 {  
CMyWorkDlg *pMyWnd=(CMyWorkDlg *)pParam;
CString m_PlayList[4];
int i=0;
m_PlayList[0]=PLAY1;
m_PlayList[1]=PLAY2;
m_PlayList[2]=PLAY3;
m_PlayList[3]=PLAY4;
// pMyWnd->SendMessage(WM_CREATEMEDIA);
pMyWnd->m_cWMPlayer.SetUrl(m_PlayList[i].GetBuffer(0));
TRACE("线程启动....\n");
DWORD dret;
while(1)
{
dret=::WaitForSingleObject(pMyWnd->m_stopEvent,1000);
if(dret == WAIT_OBJECT_0)
{
DWORD exitcode;
GetExitCodeThread(pMyWnd->m_MediaThread,&exitcode);
ExitThread(exitcode);
}
else
{
int m=pMyWnd->m_cWMPlayer.GetPlayState();
if(m ==1)
{
i++;
if(i >3)
i=0;
pMyWnd->m_cWMPlayer.SetUrl(m_PlayList[i].GetBuffer(0));
} } }
return 0L;
 }