有时候在项目中,会调用一个控制台应用程序去处理一些工作。
那在我们的程序中要怎么样做才能调用一个控制台应用程序并将参数传递过去,控制台程序执行完后,我们的程序又怎样获取返回值?
代码如下:
调用代码:

            try
            {
                Process pro = new Process();
                //控制台应用程序所在目录
                pro.StartInfo.FileName = @"C:\Users\Administrator\Desktop\WindowsFormsApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe";
                pro.StartInfo.UseShellExecute = false;
                pro.StartInfo.CreateNoWindow = false; //是/否 不显示窗口
                //是否将应用程序的输出写入 System.Diagnostics.Process.StandardOutput 流中。
                //如果设置为true,则可以使用 pro.StandardOutput.ReadLine()来获取cmd 窗口里的输出内容,
                //并且 cmd窗口里不在出现输出。
                pro.StartInfo.RedirectStandardOutput = true;
                //命令行参数,以空格隔开,即 控制台应用程序的Main方法的参数
                pro.StartInfo.Arguments = "123 456";
                pro.Start();
                //显示控制台程序的输出内容
                this.txtConsoleValue.Text += "\r\n" + pro.StandardOutput.ReadLine();                 //调用控制台程序的返回值,
                //当控制程序的Main放有返回值时,可以通过 ExitCode 获取
                int result = pro.ExitCode;             }
            catch (Exception)
            {
                throw;
            }
控制台 代码:
        static void Main(string[] args)
        {
            if (args.Length > 0)
            {
                Console.WriteLine("参数1:" + args[0] + "  参数2:" + args[1]);
            }
            //当调用方,将pro.StartInfo.RedirectStandardOutput设置为false时,可以进行输入交互,
            Console.WriteLine("请输入参数:");
            string param = Console.ReadLine();
            Console.WriteLine("您输入的参数为:" + param);
            System.Threading.Thread.Sleep(3000);
        }

Web应用程序或者WinForm程序 调用 控制台应用程序及参数传递的更多相关文章

  1. C# 页面调用控制台应用程序

    var rootPath = System.Configuration.ConfigurationManager.AppSettings["rootPath"]; Process. ...

  2. C++调用外部应用程序

    很多时候,我们的程序需要调用DOS命令,通过Dos命令调用其他程序从而完成所需要完成的功能.比如,调用Dos程序PKZIP完成ZIP包的解压缩,调用SVN完成文件的更新或者上传.但是在程序运行时又要求 ...

  3. 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)

    原文:[ASP.NET Web API教程]3.3 通过WPF应用程序调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...

  4. svc6 控制台程序利用SoapToolkit3.0调用WebService

    1. 首先要安装SoapToolkit3.0安装包并安装(我的安装目录为:C:\Program Files\Common Files) 2. 新建vc控制台程序(空项目),项目名称:WinConsol ...

  5. [转载]C#控制台应用程序里调用自己写的函数的方法

    (2011-08-15 15:52:13) 转载▼ 标签: 转载 分类: 技术类 原文地址:C#控制台应用程序里调用自己写的函数的方法作者:萧儿 最近写程序,遇到了一个很白痴的问题,记录下来,免得下次 ...

  6. python 利用subprocess调用cmd命令程序,并正确输出控制台的输出中文

    平台Python3.7 1.利用控制台运行程序后在控制台会输出中文提示,但是用python调用subprocess.run函数后返回的输出是乱码,于是,解决方法是用subprocess.check_o ...

  7. 使用 SailingEase WinForm 框架构建复合式应用程序(插件式应用程序)

    对于一些较小的项目,具备一定经验的开发人员应该能够设计和构建出便于进行维护和扩展的应用程序.但是,随着功能模块数量(以及开发维护这些部件的人员)的不断增加,对项目实施控制的难度开始呈指数级增长. Sa ...

  8. C#在winform中调用系统控制台输出

    在Winform程序中有时候调试会通过Console.Write()方式输出一些信息,这些信息是在Visual Studio的输出窗口显示. 所以就会想,能不能调用系统的Cmd窗口输出呢,经过一番查阅 ...

  9. c#取得控制台应用程序根目录

    1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径方法2.AppDomain.CurrentDomain.Bas ...

随机推荐

  1. Linux查看系统资源命令

    转载于:http://lxbins.blog.51cto.com/1089997/283663 top:======================================主要参数d:指定更新 ...

  2. 以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping)

    在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么?    为了 ...

  3. C++创建对象的两种方式

    C++创建对象有两种方式,在栈上创建对象(Objects on the Stack)和在堆上创建对象(Objects on the Heap). 假设我们有以下的类: #include <str ...

  4. Chrome 插件: 起动本地应用 (Native messaging)

    Chrome 插件: 起动本地应用 (Native messaging) www.MyException.Cn  网友分享于:2014-08-01  浏览:3次   Chrome 插件: 启动本地应用 ...

  5. Java集合---面试题

    HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此 ...

  6. JAVA NIO是什么(zz)

    JAVA NIO是什么? 1.   基本 概念 IO 是主存和外部设备 ( 硬盘.终端和网络等 ) 拷贝数据的过程. IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成. 所有语言运行时系 ...

  7. Fork一个仓库

    Fork 是对一个仓库的克隆.克隆一个仓库允许你自由试验各种改变,而不影响原始的项目. 一般来说,forks 被用于去更改别人的项目(贡献代码给已经开源的项目)或者使用别人的项目作为你自己想法的初始开 ...

  8. activity动画主题使用注意事项

    当我们不满足于系统默认的activity动画交互方式,我们可以通过在主题里面,指定activity动画样式来实现自定义交互效果. 在style里面定义样式 <!-- Base applicati ...

  9. CSS 外边距合并

    外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者. 外边距合并 外边距合并(叠加)是一个相当简单的概念.但是,在实践中对网 ...

  10. 百度地图 IOS版开发经验分享

    最近刚完成app中地图的应用,感觉非常的曲折,折腾了很久,刚才开始一直不能成功使用百度地图api,报一大堆的错误,后来换到高德地图,又发现服务端使用的百度的经纬度,又从高德换回百度,泪奔. 这里简单比 ...