需要发送的数据从MSMQ消息队列里取,通信采用异步WINDSOCK API编程。
我的设想如下:
1、一个主窗口,主要用于显示通信的数据,以及从MSMQ中得到需要发送的数据。
2、一个副窗口,主要用来编写做WINSOCK API通信的,窗口中显示通信过程的状态和参数等。该窗口是MODEULESS的。
3、通信过程是这样的:副窗口启动后,经过一些初始化后,发个消息给主窗口通知其通信状态已经准备好。主窗口接到这个消息后,起动一个线程不断检查MSMQ中是否有数据需要发送,如果有数据则将MSMQ消息队列中的数据取出,经过校验和格式化后打包成一个PACKAGE,然后传送给副窗口,副窗口接到数据后按协议进行通信,通信完成后再发一个消息通知主窗口去取下一个数据。现在有一些问题需要解决:
1、主窗口如何将数据包传诵给副窗口,用WM_MESSAGE的WAPARAMETER参数传结构,我不知道怎么做。
2、副窗口怎么发消息给主窗口,这个HWND怎么取到。
请各位高手能给点SAMPLE CODE,非常感谢。

解决方案 »

  1.   

    1、用IStream接口和事件内核对象
    2、(HWND)AfxGetMainWnd(),不知道是不是这个函数,可能写错了,
     也可以通过AfxGetApp().
      

  2.   

    TO WUXFBRAVE:
    是在同一个进程,但是我不知道如何获得另一个窗口的指针,以及如果传一个结构的指针给窗口。
      

  3.   

    简单,如果只是在窗口间传递消息,用自定义消息好了.so easy.
      

  4.   

    消息传诵是没问题的,但是一如何得到对方的HWND,二如何在消息中传送数据结构?