如何不让控制台应用程序等待输入

时间:2018-03-07 17:27:04

标签: c# wpf console-application

审核人员的快速备注:由于我的问题是随机关闭的,并标记为"确切的"重复,我不幸再次提出这个问题。在将问题随机标记并关闭之前,请实际读取问题,因为它是解决方案为我工作的WinForms问题的完全重复。特别是过时的答案,如果我需要澄清,我也不会得到答复。如有必要,我很乐意添加一些说明。 :)

我只是想让我的问题能够被其他用户真正回答,而不是不必要地关闭我的问题,因为你认为一个适用于完全不同的应用程序结构的答案是有效的。在关闭之前确保您提供的答案正常

我觉得好像我在这里遗漏了一些极其简单/愚蠢的东西,如果这是一个愚蠢的问题,请原谅我。总结一下:

我创建了一个Windows应用程序。应用程序中的所有内容都按预期工作。然而,这个Windows应用程序也可以通过接受交换机来利用命令行界面,然后交换机将调用应用程序中的某些方法。我也按预期工作。

所以,让我们举例说,我在命令行中运行应用程序,如MyApp.exe -help。应用程序将按预期将结果输出到控制台。但是,每当我写入控制台时,总是等待我按Enter键才能实际返回到我可以运行其他命令的状态。即。

C:\Users\user\Desktop>_

为了视觉目的,极其简化的代码版本将是:

public partial class App : Application
{
  protected override void OnStartup(StartupEventArgs e)
  {
    base.OnStartup(e);

    if(e.Args.Length > 0)
    {
      AttachConsole(-1);
      Console.WriteLine("Pretend this a helpful message");
    }
    else
    {
      new MainWindow().ShowDialog();
    }
    Shutdown();
  }
}

我怎样才能这样做?

这不是一个显示器或任何东西,它只是令我讨厌的东西,并且很乐意解决。当我在我的应用程序上运行批处理脚本时,我还在稍微考虑一下;如果没有返回默认控制台会产生任何影响。

如果有人能帮我指出正确的方向,请提前致谢。

0 个答案:

没有答案