求助:关掉对话框却没有退出进程 MFC
xgnew 2009-09-10 03:49:14 如题,请各位帮我看看。
我用MFC做了一个串口发送的程序。
界面在一个dialog上。点击发送文件的按钮,会根据文件内容里的配置信息来配置串口参数,发送文件的数据内容。可以在文件里配置延时标志,如 Delay20 表示延时20*100ms。
我在实现这个延时功能时,起初用了sleep()。当程序运行时,界面不会响应,像死机一样,因为被挂起了,根本就没占用CPU。
按理说该用多线程做,但是我现在还不会多线程,就找了段代码,在单线程里做。
//Sleep(delayTime);
DWORD dwStart = GetTickCount() ;
DWORD dwEnd = dwStart ;
do
{
MSG msg ;
GetMessage(&msg, NULL, 0, 0) ;
TranslateMessage(&msg) ;
DispatchMessage(&msg) ;
dwEnd = GetTickCount() - dwStart ;
} while(dwEnd < delayTime);
这样可以在延时等待时接收消息。
但问题是,关掉对话框后,进程并没有退出。
我在OnDestroy()里加了一句
PostQuitMessage(0) ;
关掉对话框后,还是不能退出进程。
我刚开始用VC写上位机程序,很菜,依葫芦画瓢的写代码,原理还没搞清楚。请高手指点一下,谢谢!
PS:好像我还没分,等我灌水挣分了补上。