一个windows服务和一个窗体程序,需在这两个程序中交换数据。这个数据交换是双向且不定时的。打算使用SendMessage发送消息来进行,但网上找到的关于使用SendMessage向另一进程发送WM_COPYDATA消息方法,似乎是针对两个窗体程序来的。但服务没有窗体,请问如何实现呢?

解决方案 »

  1.   

    可以用Socket,扩展性也好
    WCF(或.Net Remoting)
    Message Queue
    共享内存
    命名管道
      

  2.   

    谢谢楼上的回答,使用Socket让我思路开阔了。只是有没有人解答我的问题,能不能在一个没有窗体的服务和一个有窗体的程序之间,使用SendMessage进行数据交互呢?
      

  3.   

    你到底是要发数据,还是要搞SendMessage呢?
      

  4.   

    要交换数据。其实SendMessage也可以用来发数据嘛。
      

  5.   

    SendMessage的第一个参数就是窗口句柄。
    windows service没有窗口,因此无法接受消息。
      

  6.   

    进程间通信的问题好像也月经了...ps:.NET 4.0还可以用内存映射文件...
      

  7.   

    据说是不行,还是使用socket吧。