Отображение окна консоли по аргументу

У меня есть проект C# "winexe", который запускается без окна консоли.

Однако я хочу показать окно консоли и написать stdout/stderr, указав параметр строки cmd. Если закрыть, приложение закрывается. Например: eclipse.exe -debug

Как это можно сделать?

PS. Я использую Visual Studio 2005

2 ответа

Решение

Пробовал это: http://vaibhavgaikwad.wordpress.com/2007/02/21/console-window-for-a-windows-application-in-net/ - кажется, работает отлично!

Даже в приложении Windows Forms консоль есть, и вы можете начать писать, используя System.Console, возможно, основанный на параметре командной строки, как вы упомянули, или переключатель конфигурации, или что-то еще. Запуск вашего приложения из командной строки окна откроет ваш графический интерфейс, как обычно, и вывод консоли будет отображаться в консоли, как вы ожидаете. Вы даже можете перенаправить этот вывод консоли, например, в файл. Может тебе этого хватит?

На самом деле начало показа окна консоли из приложения Windows Forms - это нечто другое. Не совсем уверен, как это сделать (если вообще возможно). Я хотел бы начать cmd экземпляр, возможно, с использованием System.Diagnostics.Process начать процесс при перенаправлении stdin/stdout/stderr этого нового процесса?

Хотя это всего лишь предположение с моей стороны. Может быть, некоторые другие ответы помогут здесь?

Другие вопросы по тегам