Приложение CLI и GUI
Я пишу приложение, которое имеет как CLI, так и GUI.
Я прочитал большинство вопросов и статей, касающихся этого, и нашел очень полезным этот вопрос:
Может ли один исполняемый файл быть одновременно консольным и графическим приложением?
Мой окончательный код выглядит так:
if (args.Length > 0)
{
//console code
}
else
{
FreeConsole();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form());
}
Это прекрасно работает при запуске .exe двойным щелчком, или при отладке, или из консоли с аргументами.
Однако, когда он запускается из консоли без аргументов, графический интерфейс открывается, как я и предполагал, но консоль застревает в ожидании закрытия графического интерфейса.
Это нехарактерный графический интерфейс и поведение консоли. Консоль обычно запускает графический интерфейс и не ждет его выхода, а только для новых команд.
Есть ли способ избежать этого?