记住,消息循环永远离不开线程的运行,线程都阻死了,消息循环不死,可能吗?
我给你的例子,至少能解决你最早代码提出的问题。
你的问题越走走远。...
你真正缺少的是基础知识。离开了基础,谁也帮不了你。
------Solutions------
如果辅线程进行了一天与消息无关的计算,辅线程的窗口一定死一天
------Solutions------
不要用INFINITE
应该使用
while(WaitForSingleObject(hThread,0)!=WAIT_OECTS_0)
{
sleep(10);
}
return;
------Solutions------
坚决反对
while(WaitForSingleObject(hThread,0)!=WAIT_OECTS_0)
{
sleep(10);
}
------Solutions------
两位把程序发给我悄悄,可以吗?
xingchen_ak@163.com
------Solutions------
不是主线程阻塞了辅线程,而是主线程自己把自己堵住了。你试过我说的方法了吗?
------Solutions------
Toipv9()兄:
那为何用户界面线程的对话框不响应我按按钮的动作呢?
------Solutions------
咦,有点郁闷了。是你改了主线程后出现的问题吗?
------Solutions------
lovelypengpeng(鹏鹏)你是不是在主对话框上生成了一个子对话框,是模态还是非模态?你把PostThreadMessage改成PostMessage试试
------Solutions------
我在delphi中解决了这个问题:
给出类代码:
repeat
sleep(100);
Application.ProgressMessage;
//dispatchmessagehere
untilThreadDone;//ifthreaddonethenexit
------Solutions------
可以限定等待的时间。有时可考虑发线程消息。
------Solutions------
Learning...
------Solutions------
在有界面时,应该使用MsgWaitForMultipleObjects
------Solutions------
你在WaitForSingleObject(m_hEvent,INFINITE);之前随便弹出一个对话框,一切OK
------Solutions------
study
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23463-8.html
南海主权是必须保卫的
看到你们都在骂