chawolbaka 2016-06-22 19:49 采纳率: 0%
浏览 1645

c# 怎么让进程之间以这种方式通讯?(wpf

我做的一个软件本来要开始做下载的部分了,可是我那天晚上睡觉前突然想把下载的部分独立做成一个exe,可是我今天仔细想了一下,我应该怎么让那个exe知道应该做什么?
我一开始想到了cmd
我可以直接这样:download.exe url path url path url path(好像看起来有一点乱
可是这样就有两个问题了
我突然想让它再下载几个东西怎么办?(他正在下载的情况下
它下载完怎么告诉我?
然后我想到了下面这个方法:

    Process p = new Process();
            p.StartInfo.FileName = "download.exe";//其它的属性先不要管吧
            p.Start();
            p.StandardInput.WriteLine("url,path");//给它发送一条指令,让他开始下载
            p.StandardInput.WriteLine("url,path");//我突然又想让他下载其它东西了,我在给它一个指令,让它往列表里面添加一个
        中间的代码我删掉了(其实是根本没有写
            string s = p.StandardOutput.ReadToEnd();//读取它给我的回复(比如下载完成 下载失败什么的

这样主程序这边就没什么问题了,可是对面就有问题了
因为我想要那个分割出去的有UI 所以用了WPF
可是WPF里面 Console.WriteLine(); 好像没有用,那么我要怎么给主程序反馈信息?
而且主程序里面的: p.StandardInput.WriteLine("url,path"); 我这边要怎么接收到这句呢?
ps:刚刚学C# 很多东西不太了解

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-06-23 06:47
    关注

    最简单的是使用命名管道
    参考:http://blog.csdn.net/yl2isoft/article/details/20228279

    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程