线程的消息环怎么做?怎样实现消息处理??

Elkel 2000-12-28 04:24:00
我需在线程中加入消息环
这样做可以吗?
while(TRUE)
{
PeekMessage(&msg,-1,0,0,PM_REMOVE);
TranslateMessage(&msg);
WaitMessage();
}
消息处理需要有窗口过程,我的线程没有窗口,我没法使用mfc
怎么处理消息???
...全文
260 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
skt642 2001-05-31
  • 打赏
  • 举报
回复
83972关注!
Elkel 2000-12-29
  • 打赏
  • 举报
回复
小弟请教Ray_czh:
怎么写MESSAGE QUEUE?
Ray_czh 2000-12-29
  • 打赏
  • 举报
回复
自己写个MESSAGE QUEUE就搞定了。
com235 2000-12-29
  • 打赏
  • 举报
回复
to wjf:

你好 有空详细点吗?
Elkel 2000-12-29
  • 打赏
  • 举报
回复
谁有更好的方法?
Elkel 2000-12-29
  • 打赏
  • 举报
回复
to wjf:
我的消息处理过程需要的时间较长,按这种方法做会阻塞线程。这种方法我也考虑过,并却把所有的消息处理过程都作为一个线程运行,但觉得线程太多。
wjf 2000-12-29
  • 打赏
  • 举报
回复
没有窗口:
sitch(msg.message)
{
case ..:
case ..:
}

OK?
Elkel 2000-12-29
  • 打赏
  • 举报
回复
to zzh:
我的程序没有窗口,是一个winnt服务进程。
zzh 2000-12-28
  • 打赏
  • 举报
回复
你可以把主窗口的句柄指针传递当作参数传递给线程,这样,就可以在线程中处理线程了,你也可以通过函数PostThreadMessage来发送线程消息。具体用法可以参考MSDN,不过,你为什么要在线程中来处理消息呢?线程一般是用来做某一回定用处的,如果你想自己来处理WINDOWS的消息。可以看WINMAIN函数。
panda_w 2000-12-28
  • 打赏
  • 举报
回复
辅助线程是没有窗口的,没有办法使用消息的,不过,你可以参考《Vc技术内幕》第四版的线程通信一文的。
The_east_key 2000-12-28
  • 打赏
  • 举报
回复
请到http://www.etechbase.net/advsearch.php,将你这个问题输入到检索框,然后选择准确匹配查询,应该可以帮助你解决这个问题的。
kz 2000-12-28
  • 打赏
  • 举报
回复
可以,工作者线程和用户界面线程均有消息队列。你可以模仿MFC里面的WinMain的消息处理过程

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧