C#输入输出重定向 方法一:同步process

使用前需加上:   using System.Diagnostics;

同步重定向代码如下:

第一步:确定必要成分

1 Process process = new Process();
2 process.StartInfo.UseShellExecute = false;   // 是否使用外壳程序
3 process.StartInfo.CreateNoWindow = true;   //是否在新窗口中启动该进程的值
4 process.StartInfo.RedirectStandardInput = true;  // 重定向输入流
5 process.StartInfo.RedirectStandardOutput= true;  //重定向输出流
6 process.StartInfo.RedirectStandardError= true;  //重定向错误流 

需要注意的是:若要使用 StandardOutput,必须将 :

ProcessStartInfo.UseShellExecute = false;

ProcessStartInfo.RedirectStandardOutput = true;

否则,读取StandardOutput 流时将引发异常;

接下来出入执行文件的路径:

1  process.StartInfo.FileName = "";//待输入的执行文件路径

第二步:运行新进程

1 process.Start();
2 process.StandardInput.WriteLine(textBox1.Text); //从textBox1中输入信息到输入流
3 string output = process.StandardOutput.ReadToEnd();//获取exe处理之后的输出信息到output
4 string error = process.StandardError.ReadToEnd(); //获取错误信息到error
5 process.Close(); //close进程

这样就可以将原本exe输出到黑框重定向到该程序的output中;

将错误输出重定向到error中,用于之后的操作;

值得注意的是:所执行文件的当前目录在 项目\bin\Debug下

时间: 2024-10-06 14:00:40

C#输入输出重定向 方法一:同步process的相关文章

Python 输入输出重定向

#基于Python2.7 #若是想Python做到和C++中freopen一样的输入输出重定向效果,即从文件输入输出,可以在程序中加入以下代码 1 import sys 2 sys.stdin=open('in.txt','r') 3 sys.stdout=open('out.txt','w')

实现不同vlan间的相互通信方法一:单臂路由

实现不同vlan间的相互通信方法一:单臂路由   一.试验目的:通过单臂路由实现VLAN间的通信 二.使用工具:GNS3模拟器,SecureCRT,其中PC1和PC2用Route模拟 三.实验拓扑: 四.具体步骤 1.设置PC1的IP:192.168.1.1 /24 网关:192.168.1.254 最后通过show ip inter brief进行验证 2.设置PC2的IP:192.168.2.1 /24 网关:192.168.2.254 最后通过show ip inter brief进行验证

CentOS下输入输出重定向

nux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linux默认输入是键盘,输出是显示器.你可以用重定向来改变这些设置.比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的,用了重定向后可以直接把一个已经写好的文件用‘<’指向这条命令,就直接可以统计这个文件的字符数等了.输出也是一样,你可以把屏幕输出重定向到一个文件里,再到文件里去看结果.重定向操作符可以用来

8.1 shell 介绍、8.2 命令历史、8.3 命令补全与别名、8.4 通配符、8.5 输入输出重定向

8.1 sehll 介绍 什么是shell shell 是一个命令解释器,提供用户和机器之间交互 支持特定的语法,比如逻辑判断,循环. 每个用户都可以有自己特定的shell. centos7 默认的shell 为bash( Bourne Agin shell ) 还有zsh ,ksh等 8.2 命令历史 /root/.bash_history ;命令历史放置文件 [[email protected] ~]# ls /root/.bash_history/root/.bash_history [[

JS实现图片上传预览效果:方法一

<script type="text/javascript"> //处理file input加载的图片文件 $(document).ready(function(e) { //判断浏览器是否有FileReader接口 if(typeof FileReader =='undefined') { /*$("#images_show").css({'background':'none'}).html('亲,您的浏览器还不支持HTML5的FileReader接口

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 # Linux shell 基础 # 8.1 shell 介绍 - 什么是shell 1. shell 是一个命令解释器,提供用户和机器之间的交互 2. 支持特定语法,比如逻辑判断.循环 3. 每个用户都可以有自己特定的shell 4. CentOS7 默认shell 为bash (Bourne Agin Shell) 5. 还有zsh.ksh等 ``` [[email protected]

依据数据集 进行 树 的构造(treeview & dataset) 方法一

type PDepData=^DepData; DepData = record ID: Integer; DepID: string; DepName: string; end; procedure FreeTV(tv: TTreeview); var i: Integer; begin for i := 0 to tv.Items.Count - 1 do begin dispose(tv.Items[i].Data); end; tv.Items.Clear; end; procedure

linux shell编程之bash别名、快捷键及输入输出重定向

命令别名:alias 让别名永远生效: 命令执行顺序: bash快捷键: 输入输出重定向: 正确和错误都保存到文件: 输出重定向:(除了给软件包打补丁时使用,一般不用)

Cocos2d-x 精灵碰撞检测(方法一)

声明函数碰撞检测函数,两个精灵和重写update bool isCollision( CCPoint p1,CCPoint p2,int w1,int h1,int w2,int h2 ); CCSprite *sp2; CCSprite *sp1; virtual void update(float delta); //重写触摸事件 virtual void registerWithTouchDispatcher(); virtual bool ccTouchBegan(CCTouch *pT