• Web应用程序或者WinForm程序 调用 控制台应用程序及参数传递


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

                try
                {
                    Process pro = new Process();
                    //控制台应用程序所在目录
                    pro.StartInfo.FileName = @"C:UsersAdministratorDesktopWindowsFormsApplication1ConsoleApplication1inDebugConsoleApplication1.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 += "
    " + 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);
            }
  • 相关阅读:
    c# IOSerialize 验证码、图片缩放
    SqlServer 分库分表
    权限系统数据库设计
    SqlServer 读写分离
    树转二叉树
    数据结构:图的存储结构之邻接矩阵、邻接表
    【数据结构】数据结构-图的基本概念
    哈夫曼树
    二叉树遍历方法
    Oracle 检查约束check
  • 原文地址:https://www.cnblogs.com/joey0210/p/3238637.html
Copyright © 2020-2023  润新知