zoukankan      html  css  js  c++  java
  • C# 调用外部程序,并获取输出和错误信息

    1. 同步模式
    public void exec(string exePath, string parameters)
            {
                System.Diagnostics.ProcessStartInfo psi =
       new System.Diagnostics.ProcessStartInfo();
                psi.RedirectStandardOutput = true;
                psi.RedirectStandardError = true;
                psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                psi.UseShellExecute = false;
                psi.FileName = exePath;
                psi.Arguments = parameters;
                System.Diagnostics.Process process = System.Diagnostics.Process.Start(psi);
                System.IO.StreamReader outputStreamReader = process.StandardOutput;
                System.IO.StreamReader errStreamReader = process.StandardError;
                process.WaitForExit(2000);
                if (process.HasExited)
                {
                    string output = outputStreamReader.ReadToEnd();
                    string error = errStreamReader.ReadToEnd();
                    MessageBox.Show(output);
                    MessageBox.Show(error);
                }
    
            }

    2.异步模式

     public void exec(string exePath, string parameters)
            {
                Process process = new System.Diagnostics.Process();
                process.StartInfo.FileName = exePath;
                process.StartInfo.Arguments = parameters;
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.CreateNoWindow = true;
                process.StartInfo.RedirectStandardOutput = true;
                process.Start();
                process.BeginOutputReadLine();
                process.OutputDataReceived += new DataReceivedEventHandler(processOutputDataReceived);
            }
    
            private void processOutputDataReceived(object sender, DataReceivedEventArgs e)
            {
                MessageBox.Show(e.Data); 
            }


  • 相关阅读:
    L255 Learning to say no brings a thrill of freedom
    2019-02-25 EST 科技文翻译
    L253 Work and Pleasure
    2019.2.22 初级英语口语班 结课
    L252 小组作业
    2019-02-22 L231
    leetcode 67 Add Binary ----- java
    leetcode 66 Plus One ----- java
    leetcode 65 Valid Number ----- java
    leetcode 64 Minimum Path Sum ----- java
  • 原文地址:https://www.cnblogs.com/jerry1999/p/3677328.html
Copyright © 2011-2022 走看看