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

            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. [转]Hive/Beeline 使用笔记

    FROM : http://www.7mdm.com/1407.html Hive: 利用squirrel-sql 连接hive add driver -> name&example u ...

  2. C语言 二级指针内存模型①

    //二级指针第一种内存模型 #include<stdio.h> #include<stdlib.h> //说明:①:类似于int a[5]={0},数组名a是一维数组a中首元素 ...

  3. IBatisNet基础组件

    DomSqlMapBuilder DomSqlMapBuilder,其作用是根据配置文件创建SqlMap实例.可以通过这个组件从Stream, Uri, FileInfo, or XmlDocumen ...

  4. Resource interpreted as Script but transferred with MIME type text/plain:

    我用script做ajax跨域,请求返回的是个文本字符串,chrome提示:Resource interpreted as Script but transferred with MIME type ...

  5. 将Html文档整理为规范XML文档

    有多种方式可以在.NET 平台进行HTML文件解析.数据提取,其中最简单.稳妥的办法是先使用工具将Html文档整理成XML文档,再通过XML Dom模型或XPath灵活地进行数据处理.SGML便是一个 ...

  6. 用 eric6 与 PyQt5 实现python的极速GUI编程(系列02)---- 省市县(区)下拉列表多级联动

    [概览] 本文实现如下的程序: 主要步骤如下: 1.在eric6中新建项目,新建窗体 2.(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3.回到eric 6,对上一步得到的界面文件 ...

  7. Matlab txt内容替换函数 fgetl fseek

    Data Import and Export  :Low-Level File I/O the contents of the file:    16     5     9     4     2  ...

  8. [CareerCup] 2.7 Palindrome Linked List 回文链表

    2.7 Implement a function to check if a linked list is a palindrome. LeetCode上的原题,参见我之前的博客Palindrome ...

  9. [CareerCup] 6.4 Blue Eyes People on Island 岛上的蓝眼人

    6.4 A bunch of people are living on an island, when a visitor comes with a strange order: all blue-e ...

  10. Django添加Last-Modified和ETag

    用Django REST Framework做的REST API,其中有个API有这样的需求: APP端请求这个API,服务器端从数据库读数据,返回json.返回的数据量稍微有些大,但是可能一年才修改 ...