如何在静态函数中弹出模态对话框?
函数定义:static DWORD WINAPI RecvProc(LPVOID lpParameter);
- C/C++ code
void CMyDlg::OnButton1() { // TODO: Add your control notification handler code here HANDLE hThread=CreateThread(NULL,0,RecvProc,NULL,0,NULL); CloseHandle(hThread);}DWORD WINAPI CMyDlg::RecvProc(LPVOID lpParameter){// AfxMessageBox("ca");// CNewDlg dlg; dlg.DoModal();//这里不管是模态还是非模态,都不行。编译没错,运行就会崩溃。提示出错wincore.cpp的895行 return 0;}
那我要弹出模态对话框应该怎么做
[解决办法]
线程都给你关闭了,资源都关闭了,你还想运行?
但不知道你想怎样达到什么目的
[解决办法]
应该没问题的,可能是你的CNewDlg类中初始化的地方写的有问题,Debug下看看窗口初始化的地方。另外在MFC中创建线程使用AfxBeginThreadProc();函数。
[解决办法]
线程里弹出窗口可以用用户界面线程