Отображение окна консоли по аргументу
У меня есть проект 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
этого нового процесса?
Хотя это всего лишь предположение с моей стороны. Может быть, некоторые другие ответы помогут здесь?