Получить коды выхода из приложения WindowsForms в командном окне - PullRequest
2 голосов
/ 21 января 2009

Я запускаю приложение Windows Forms из командной строки, и мне нужно получить коды выхода, которые генерирует приложение Windows Form. Командная строка запускает приложение и сразу же возвращается. Но приложение выполняется в фоновом режиме. Есть ли способ получить коды выхода?

С уважением

Christian.

Ответы [ 2 ]

9 голосов
/ 21 января 2009

Ответ

start /wait [Your Command]

, а затем

echo %errorlevel%

для извлечения возвращаемого значения.

-

И потому что мне нравится писать командные файлы ... (это моя проблема ...)

@echo off
echo Waiting for program to exit...
start /wait %*
echo Return code was %errorlevel%

Сохраните его где-нибудь с расширением .bat. Запустите его с командной строкой программы, которую вы хотите запустить в качестве аргументов. Он выполнит команду, которую вы ей дали, дождется ее окончания и напечатает возвращаемое значение.

Вы также можете жестко закодировать программу, заменив строку запуска / ожидания своим приложением, потому что в документации (начало /?) Сказано:

При выполнении приложения, являющегося 32-разрядным приложением с графическим интерфейсом, CMD.EXE не ожидает завершения приложения, прежде чем вернуться в командная строка Это новое поведение не происходит при выполнении внутри командного сценария.

CMD будет ожидать winform, если она вызывается из скрипта, независимо от того, включены или нет расширения команды.

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

Подробнее об использовании директивы ERRORLEVEL см. в этой статье Роба ван дер Вуде .

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