MFC的两个有关问题,creatthead 和CFILEOPEN

MFC的两个问题,creatthead 和CFILEOPEN
上面两单词,有点忘了,知道意思就行了,一个是线程创建的,一个是打开对话框的。
问题1 :用 HANDLE a= creatthead(..........)创建了一个线程后,怎么强制关闭这个线程?

问题2:就是CFILEOPEN dlg(........); 执行 IDOK==dlg.domodal() 的时候,就是选择文件了,点击“打开”那个按钮 是不是响应IDOK的? 这个有没有什么要注意的。。

因为我有这样一个问题,一个声音的类 CSound没有问题的,在程序都能用....
当我在打开对话框使用那些声音就不能播放了

void CFF::ONBUTTON1(......)
{
    CFILEOPEN dlg(........);
   if( IDOK==dlg.domodal() )
  { 
    //这里我读出那选中的文件,然后分析它的字符串,如果是1就播放1.wav 2就播放2.wav....
    CSound c;
    c.Play(1);//结果能运行,但是就是没有声音了.....
 }
}
------解决方案--------------------
采用线程之间的通信方式
可以创建一个事件m_hHandshakeExitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
在玩家点击重新开始游戏时,置SetEvent(m_hHandshakeExitEvent);
然后在你那个线程中判断,是否该事件被置,如果是就退出线程
if (WaitForSingleObject(m_hHandshakeExitEvent,0)==WAIT_OBJECT_0)
{
ResetEvent(m_hHandshakeExitEvent);
CloseHandle(m_hHandshakeExitEvent);
break; //线程退出
}