C# 调用带参数的控制台程序 并将命令行输出的内容实时输出至窗体中的显示控件

本文介绍了如何使用C#的Process类调用带参数的控制台程序,例如`DetectionWithShp.exe`,并将命令行输出的内容实时显示在C#窗体的Listbox控件中。通过读取文件选择的参数,启动控制台程序,并通过DataReceivedEventHandler处理输出信息。同时,提供了结束被调用进程的代码,确保了用户可以终止程序执行。
摘要由CSDN通过智能技术生成

众所周知,C#以其高效的开发效率和完全面向对象的特性以及丰富的方法函数深受广大程序员的喜爱,因此拿来做界面非常快捷方便,而有很多涉及算法的核心程序又是用别的语言开发的(如C++),如何通过C#的界面窗体程序调用已有的控制台程序有很大的需求,这个需求都可以通过C#的Process类来实现,需要引用的名空间是System.Diagnostics,以下例子是现有一个控制台程序,调用的参数比较复杂,具体为DetectionWithShp.exe -ib c:\before.img -ia c:\after.img -s c:\tuban.shp -o output.shp,处理过程也比较久,会输出很多提示进度的信息在控制台,通过C#的界面,将-ib、-ia、-s、-o后面的参数以文件选择的方式读入,然后执行,并将控制台的进度信息实时输出至窗体的Listbox控件中。核心代码是对Process的使用:

为了设计一个结束被调用进程的按钮,把Process p = new Process();的定义放在frmMain()中,启动被调用程序的按钮响应代码如下:    

private  void btnRun_Click (object sender , EventArgs e )
         {

            string m_exename  = Application.StartupPath  + @ "\DetectionWithShp.exe" ;
            string m_space  =  " " ;
            string m_cmdLine ;
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值