Отображение окна консоли по аргументу - PullRequest
2 голосов
/ 09 января 2009

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 09 января 2009

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

0 голосов
/ 09 января 2009

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

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

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

...