非ui线程,怎么接受 HWND_BROADCAST 消息?

wolong98 2009-07-08 08:19:51
我在 线程中 通过 GetMessage(&msg, NULL, 0, 0)
没法接受到 HWND_BROADCAST 类型消息?

...全文
84 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2009-07-11
  • 打赏
  • 举报
回复
但是为什么要强迫他接收“窗口”消息?如果你需要他接收消息,直接给他post一个线程消息即可

[Quote=引用 5 楼 gg606 的回复:]
荣掌握,如果一定要接收窗口消息,能否通过给线程添加窗口来实现呢?

引用 4 楼 arong1234 的回复:
不是够戗,是绝对不可能,windows消息只能有窗口才能接收
[/Quote]
supconsupcon 2009-07-11
  • 打赏
  • 举报
回复
派生自CCmdTagert得类都可以接受消息的,Doc是没有窗口,但是能接受消息,
HWND_BROADCAST 属于窗口消息,非UI线程接受不到这个消息的
gg606 2009-07-11
  • 打赏
  • 举报
回复
荣掌握,如果一定要接收窗口消息,能否通过给线程添加窗口来实现呢?
[Quote=引用 4 楼 arong1234 的回复:]
不是够戗,是绝对不可能,windows消息只能有窗口才能接收
[/Quote]
arong1234 2009-07-11
  • 打赏
  • 举报
回复
不是够戗,是绝对不可能,windows消息只能有窗口才能接收
[Quote=引用 2 楼 gg606 的回复:]
不同意一楼的说法,楼主都说了线程有自写的消息循环!
HWND_BROADCAST消息应该是向窗口广播的,而你的线程是非ui的,没有窗口句柄,够戗!
[/Quote]
biweilun 2009-07-11
  • 打赏
  • 举报
回复
没窗口怎么接受HWND_BROADCAST?只能接受线程消息

你想做什么啊?
gg606 2009-07-11
  • 打赏
  • 举报
回复
不同意一楼的说法,楼主都说了线程有自写的消息循环!
HWND_BROADCAST消息应该是向窗口广播的,而你的线程是非ui的,没有窗口句柄,够戗!
zoulie 2009-07-11
  • 打赏
  • 举报
回复
没有消息队列当然接受不到消息
线程通信又不是只有消息这一种方法。。
arong1234 2009-07-11
  • 打赏
  • 举报
回复
1. 控制台和楼主说的“线程”有关系么?你这个例子和lz的问题有什么关系
2. 如果线程内部有窗口,自然可以接收到消息,不过不知道所谓的“伪窗口”是什么东西,窗口消息只有真窗口才能接收
不知道你所谓的伪窗口能不能,做事情不要想当然,要有证据

[Quote=引用 8 楼 tkminigame 的回复:]
应该还是能接收到的吧,控制台那玩意不是个伪窗口么。一个控制台程序在启动之前肯定是需要向系统注册和创建窗口的,区别是这个窗口不接受来自UI消息队列的一些消息,只要能找到这类窗口的控制办法都是应该能做到的。
[/Quote]
tkminigame 2009-07-11
  • 打赏
  • 举报
回复
应该还是能接收到的吧,控制台那玩意不是个伪窗口么。一个控制台程序在启动之前肯定是需要向系统注册和创建窗口的,区别是这个窗口不接受来自UI消息队列的一些消息,只要能找到这类窗口的控制办法都是应该能做到的。

15,471

社区成员

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

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