将命令从Windows服务发送到正在运行的WinForm应用程序

时间:2014-07-03 00:47:36

标签: c# winforms service

我有两个独立的程序。一个是winform,它承载一个正在运行的进程,输出/输入通过表单重定向。该过程是一种罐装产品,几乎没有机会自己修改它。

第二个程序是一个服务,可以从正在运行的进程中对数据进行极化,但它不会直接与winform进行交互。

我的目标是将服务中的字符串发送到winform,然后与正在运行的进程进行交互。或者,我不介意能够直接向流程发送命令,但我敢打赌,如果不修改正在运行的流程源,就不会发生这种情况。

我看过命名管道,但我不确定这是最好的方法。两个程序都托管在同一台机器上。我只是不确定我的选择是什么。有任何想法吗? =)

2 个答案:

答案 0 :(得分:3)

如果在Windows中提供IPC(进程间通信)选项,则全部范围为on MSDN

  • 剪贴板
  • COM
  • 数据复制
  • DDE
  • 文件映射
  • 邮筒
  • RPC
  • Windows套接字

然后有Windows以外的机制

在所有这些中,命名管道可能最适合您的特定应用。我过去曾用它们做类似的事情。它们易于设置和使用。

答案 1 :(得分:1)

实现此通信有多种选择。主要是您可以使用Named pipes(WCF),MSMQ