Как показать окно и приглашение командной строки? - PullRequest
1 голос
/ 15 сентября 2011

Есть ли способ показать окно и CMD в комбинации?Я хотел бы использовать cmd в качестве регистратора отладочной информации в моем приложении Windows.

Ответы [ 4 ]

2 голосов
/ 15 сентября 2011

Есть два подхода.

  1. Вы можете продолжить связывать свое приложение как оконное приложение и использовать AllocConsole для создания консольного окна, в которое вы можете выводить свою информацию отладки. Обратите внимание, что это открывает только дескрипторы ядра, поэтому вам необходимо использовать _open_osfhandle и _fdopen для подключения stdout / stderr к вашей консоли.

  2. Вы можете связать свое приложение как консольное приложение, не забывая, что теперь оно начинается с _tmain вместо _tWinMain().

1 голос
/ 15 сентября 2011

Если вы хотите использовать это только для целей отладки, в среде Visual C ++, почему бы вам не использовать определенный в Windows макрос TRACE ().Это хорошо служит цели отладки.Он будет писать в окне вывода Visual Studio.И это очень просто.

1 голос
/ 15 сентября 2011

Каким-либо консольным приложением можно управлять окнами, вызывая CreateWindow и выполняя цикл обработки сообщений, например, оконное приложение.

И любое оконное приложение (входящее с WinMain) может связать консоль с AllocConsole.

В конце концов, они не так уж отличаются!; -)

1 голос
/ 15 сентября 2011

Да, это вполне возможно.Написать консольное приложение и продолжить обычную регистрацию окон, создать окно и прослушивать события.Обратите внимание, что следует избегать использования стандартного блокирующего ввода в том же потоке, что и поток с вашим циклом сообщений окна (окно перестает отвечать на запросы, пока не завершена операция ввода с консоли).1003 * выделить консоль из оконного приложения, но я не уверен, связаны ли стандартный вывод и стандартная ошибка с буферами ввода-вывода консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...