怎么在DLL的辅助线程中创建非模式对话框?

如何在DLL的辅助线程中创建非模式对话框??急!!!
UINT     ConnectThread(LPVOID   lParam)
{
CHintDlg   *   pdlg   =   new   CHintDlg;
                  pdlg-> Create(IDD_MY,   CWnd::FromHandle(::GetDesktopWindow()));
                  pdlg-> ShowWindow(...);
}

我在我的DLL中的辅助线程内,想创建一个非模态对话框(因为不想阻塞),如上面的代码,但是发现好象不行。症状是,对话框可以显示出来,但鼠标处于沙漏状态,并且,对话框上的控件不能显示。

请问如何修改?注:创建线程,使用的是AfxBeginThread(CreateThread也试过),都不行。

注:上面的代码,在主线程中内执行就能正常创建对话框。

------解决方案--------------------
你可以在后面+上消息循环

CHintDlg * pdlg = new CHintDlg;
pdlg-> Create(IDD_MY, CWnd::FromHandle(::GetDesktopWindow()));
pdlg-> ShowWindow(...);

MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
if(pdlg-> GetSafeHwnd() == 0 ||!IsDialogMessage(pdlg-> GetSafeHwnd(),&msg)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
------解决方案--------------------
CWnd::FromHandle(::GetDesktopWindow())); 可能是这...被别的窗口盖住了吧?

又不是主线程,也不阻塞?
------解决方案--------------------
pdlg-> Create(IDD_MY, CWnd::FromHandle(::GetDesktopWindow()));
====================
改成: pdlg-> Create(IDD_MY, NULL);试试