【发布时间】:2014-08-20 22:09:09
【问题描述】:
我正在尝试制作一个也可以从命令行运行的 WPF 应用程序。我有一个 WPF 应用程序,我可以在某种程度上实现这一点。可以使用 0 个参数运行并加载一个窗口。
当我使用 > 0 个参数运行它时,我的想法是让它从命令行运行,因此应该打印到命令行。所以为此我有Attached 一个控制台,然后在我完成后Freed 控制台。
但是,当一切都完成后,命令行上会出现以下结果。
我能够在此处运行另一个命令,但为什么不显示完整目录以表明它已完成?
有没有办法解决这个问题?
经过进一步检查,我注意到它似乎是在输出之前而不是之后打印新行。
public partial class App : Application
{
[DllImport("Kernel32.dll")]
public static extern bool AttachConsole(int processId);
[DllImport("Kernel32.dll")]
private static extern bool FreeConsole();
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
if (e.Args.Length > 0)
{
AttachConsole(-1);
Console.WriteLine("\nStart");
Console.WriteLine("Stop");
Console.WriteLine("");
FreeConsole();
}
else
{
new MainWindow().ShowDialog();
}
this.Shutdown();
}
}
【问题讨论】: