Я пытаюсь создать приложение WPF, которое также можно запустить из командной строки. У меня есть приложение WPF, которое я могу достичь в некоторой степени. Можно запустить с помощью 0 аргументов и загрузится окно.
Когда я запускаю его с аргументами> 0, идея состоит в том, чтобы запустить его из командной строки и, следовательно, распечатать в командной строке. Поэтому для этого я подключил консоль, а затем 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();
}
}
Вы пытались использовать функцию AllocConsole? Я всегда использовал его без каких-либо проблем.
[DllImport("Kernel32")]
internal static extern bool AllocConsole();