如果没有窗口,我可以给一个线程创建一个消息循环吗?
展开全部
你说的是windows平台么?如果是,那么:
可以,简单说
1、使用任何消息函数一次,这个目的是将当前线程内部转换成gui线程,gui子系统会初始化相关数据并创建消息队列,此后,其他线程可post消息到此线程。常常使用PeekMessage一次达到这个效果
2、在任何你想获得消息的地方调用获取消息的函数(如GetMessage),在获得消息后,直接查看MSG结构体中各成员,并作相应处理
3、其他线程可使用PostThreadMessage给那个线程发消息,目标为线程id
其实消息队列虽然作为gui的一部分,但在windows平台常常被用作与工作线程通讯
可以,简单说
1、使用任何消息函数一次,这个目的是将当前线程内部转换成gui线程,gui子系统会初始化相关数据并创建消息队列,此后,其他线程可post消息到此线程。常常使用PeekMessage一次达到这个效果
2、在任何你想获得消息的地方调用获取消息的函数(如GetMessage),在获得消息后,直接查看MSG结构体中各成员,并作相应处理
3、其他线程可使用PostThreadMessage给那个线程发消息,目标为线程id
其实消息队列虽然作为gui的一部分,但在windows平台常常被用作与工作线程通讯
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询