我有两个名为SENDER和RECEIVER的应用程序.
RECEIVER将由SENDER以System.Diagnostics.Process.Start对象发布
RECEIVER将以隐藏模式启动,因此它没有MainWindowHandle.
然后我们无法使用Win32.WM_COPYDATA顺序发送消息给RECEIVER,因为它需要MainWindowHandle.
我需要的是通过任何方法定期发送和接收消息的能力.
我检查了以下链接的手册,MainWindowHandle但它没有帮助:
一个解决方案可能是一个有用的对象,System.Diagnostics.Process可以帮助我们将消息发送到进程.
Osc*_*ley 15
有两种方法可以在两个进程之间共享信息.
首先,你必须考虑当你的应用程序扩展时,两个进程是否总是在同一台机器上.
不同的机器
永远在同一台机器上.
首选:MSMQ
如果我是你,我会保留在不同机器中使用进程的能力,因此我会像Maarten建议的那样使用两个使用MSMQ进行通信的Windows服务.为什么?
第二选择:Restful Web Service
如果您不想使用MSMQ,我将使用IIS中托管的两个Restful Web Service来传达这两个进程.如果你有一个场景,如果他们迟到,RECEIVER对来自SENDER的消息不感兴趣,那么它会非常有用.