在一个线程中,用GetMessage接收来自于一个DLL的消息,但同时,该线程还需要相应另一个线程的某一个事件。不知道这样的需求能否实现?也就是说:如果DLL发来了消息,该线程就要响应这个消息,然后等待下一个消息;在等待期间,如果事件被SetEvent了,也要做出响应。现在不太会处理这个问题,因为好像GetMessage会阻塞线程。

解决方案 »

  1.   

    怎么没有人回答?是不是这种想法无法实现?现在这个线程和DLL的通信方式必须依赖GetMessage。那怎么能够得到另外一个线程的消息呢?是不是必须在另外一个线程中使用SendMessage或者PostMessage?
      

  2.   

    SendMessage需要等待线程返回,而PostMessage不需要等待,直接返回
      

  3.   

    嗯,谢谢。我已经明白了,在另外一个线程中可以不使用事件与这个线程通信,而是使用PostThreadMessage发送消息。