【问题标题】:c# standard output readtoEnd()c# 标准输出 readtoEnd()
【发布时间】:2011-04-07 09:48:06
【问题描述】:

我有以下问题。我运行一个 exe,但在我的控制台应用程序中看不到 exe 包含的所有内容。我希望至少在控制台应用程序中看到我正在运行的可执行文件中编写的文本。我哪里错了?

1) 如何在控制台应用程序中打印我在运行的 exe 中编写的文本?那可能吗?我也想使用 tje 标准输入流。我的意思是我想从 exe 中读取并使用我的应用程序写入 exe。这里是代码:

需要帮助。谢谢!

    static void Main(string[] args)
    {
        string s;



        ProcessStartInfo p = new ProcessStartInfo();
        p.UseShellExecute = false;
        p.RedirectStandardOutput = true;
        p.RedirectStandardInput = true;
        p.RedirectStandardError = true;
        p.FileName = @"notepad.exe";

        using (Process pp = Process.Start (p))
        {
            string output = pp.StandardOutput.ReadToEnd();
            //pp.WaitForExit();
            StreamReader myStreamReader = pp.StandardError;

            // finally output the string
            Console.WriteLine("output is: "+output+"....."+myStreamReader.ReadLine());
          //  pp.Close();
            Thread.Sleep (2000);
        }

【问题讨论】:

  • 您是否希望将您在记事本中编写的文本转储到控制台中?
  • 能否请您详细说明您要做什么,确切地说。为什么需要单独的流程?
  • 我不确定 Notepad.exe 会写入标准输出还是标准错误...它不是命令行程序,它是 GUI 程序。

标签: c# .net process console-application


【解决方案1】:

Standard* 流仅适用于控制台应用程序。您正在运行记事本,它不是控制台应用程序。

【讨论】:

  • 我接受了你的回答。我想问你如何使用应用程序从正在运行的 exe 访问菜单?
  • @elisa:我上次已经告诉过你,请将新问题作为新问题发布,而不是在旧问题的 cmets 中。通过这种方式,您将获得更广泛的受众和更好的答案。此外:到目前为止,您的问题让我感到困惑:您到底想在大局中实现什么?
  • 我有一个正在运行的可执行文件(比如说一个包含邮件地址列表的表单应用程序)我使用 process.start() 从我的 c# 应用程序运行 exe 文件。到目前为止一切都很好。但是我如何以编程方式从正在运行的可执行文件中链接第二个邮件地址(使用我的应用程序从我运行 exe 的位置)并向打开的窗口发送消息?请帮助:)..我确实搜索了很多..问了很多..但没有..结论:)
  • @elisa:我问的是大局。你为什么要这样做?你想达到什么目的?您是否可以控制第二个 exe,即它是由您开发的?
  • 因为我有一个 exe 文件,我必须在该文件上工作。不,我没有源代码。我只有exe文件。我不知道如何将控件设置为第二种形式,如何从我使用 process.start 运行的 exe 以编程方式实际转到第二个邮件地址(来自列表),以便单击它并发布消息(以编程方式)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2014-07-31
  • 2013-09-18
  • 1970-01-01
  • 2010-10-09
  • 2010-10-29
相关资源
最近更新 更多