从一个winforms应用程序发送信号到另一个

时间:2013-11-18 09:36:28

标签: c# winforms

我有一个C#Win表单应用程序,它有UI并可选择使用命令行参数来执行某些进程。我有一个新请求,外部应用程序将提供命令行参数,我的应用程序需要为外部应用程序提供进度状态。我想对我的应用程序进行最小的更改以完成此任务。

例如,我的应用程序由外部程序启动如下:

ProcessStartInfo startInfo = new ProcessStartInfo();        
startInfo.FileName = @"C:\Program Files\ProgramFolder\MyProgram.exe";
startInfo.Arguments = @"C:\arguments.txt";
Process.Start(startInfo);

当我的应用程序运行时,它需要发送信息,如正在进行的帐户,已处理的帐户,已完成的所有帐户等信号。

如果我的应用程序将进度状态写入预定义文件夹,那么外部应用程序是否使用文件监视器来监视新文件并获取状态?我的研究显示了另一个名为pipes的选项,这对我来说很新,但希望可以管理它。还有其他替代方法吗?

1 个答案:

答案 0 :(得分:0)

为您提供任何建议有点晚了...但是对其他人可能有用。

要在两个或多个不同过程之间发送信息,可以使用MMF, “内存映射文件”
 什么是? :您可以找到一个很好的描述by clicking Here

对不起,如果我不够准确,但我仍在研究中 ... 您可以使用System.IO:MemoryMappedFile

从C#使用MemoryMappedFile类