审核人员的快速备注:由于我的问题是随机关闭的,并标记为"确切的"重复,我不幸再次提出这个问题。在将问题随机标记并关闭之前,请实际读取问题,因为它是解决方案不为我工作的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();
}
}
我怎样才能不这样做?
这不是一个显示器或任何东西,它只是令我讨厌的东西,并且很乐意解决。当我在我的应用程序上运行批处理脚本时,我还在稍微考虑一下;如果没有返回默认控制台会产生任何影响。
如果有人能帮我指出正确的方向,请提前致谢。