我有一个C#Win表单应用程序,它有UI并可选择使用命令行参数来执行某些进程。我有一个新请求,外部应用程序将提供命令行参数,我的应用程序需要为外部应用程序提供进度状态。我想对我的应用程序进行最小的更改以完成此任务。
例如,我的应用程序由外部程序启动如下:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\Program Files\ProgramFolder\MyProgram.exe";
startInfo.Arguments = @"C:\arguments.txt";
Process.Start(startInfo);
当我的应用程序运行时,它需要发送信息,如正在进行的帐户,已处理的帐户,已完成的所有帐户等信号。
如果我的应用程序将进度状态写入预定义文件夹,那么外部应用程序是否使用文件监视器来监视新文件并获取状态?我的研究显示了另一个名为pipes的选项,这对我来说很新,但希望可以管理它。还有其他替代方法吗?
答案 0 :(得分:0)
为您提供任何建议有点晚了...但是对其他人可能有用。
要在两个或多个不同过程之间发送信息,可以使用MMF,
“内存映射文件”
什么是? :您可以找到一个很好的描述by clicking Here
对不起,如果我不够准确,但我仍在研究中 ... 您可以使用System.IO:MemoryMappedFile
从C#使用MemoryMappedFile类