4

У меня есть простой пакетный файл, который устанавливает некоторую необходимую информацию о пути к сеансу, а затем запускает приложение:

SET PATH=%PATH%;C:\Qt\473_x64\lib;C:\Qt\jom
start C:\Qt\qt_creator_220_x64\bin\qtcreator.exe

Он работает нормально, за исключением того, что он держит открытым окно команд призрака. Эта команда Windows закрывается, когда приложение закрывается. Чтобы было ясно, командное окно, которое появляется, когда я первоначально дважды щелкаю командный файл, закрывается. Это новое окно, которое открывается. Как я могу предотвратить отображение этого второго окна? Я хотел бы просто дважды щелкнуть ярлык к командному файлу, чтобы открыть приложение, как если бы я дважды щелкнул само приложение. (Плюс, конечно, установка необходимой информации о пути.)

3 ответа3

3

Мне интересно, что делает ваше приложение. Потому что это не имеет никакого отношения к пакетному файлу. Пакетный файл открывает только одно окно и четко закрывается. Любые последующие окна вызываются QTcreator.

Посмотрите на этот вопрос и посмотрите, похожи ли правки на ваши.

https://stackoverflow.com/questions/760323/why-does-my-qt4-5-app-open-a-console-window-under-windows

2

Если есть только одна команда, вы можете избавиться от start чтобы он открывался в том же процессе.

Альтернативно и лучшим решением является использование параметра /b чтобы запуск не открывал новое окно.

В вашем примере это будет start /b C:\path\to\application.exe

2

Все, что вам нужно сделать, это добавить exit в конец вашего пакетного скрипта, и он закроет окно командной строки после запуска вашей программы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .