Runtime.getRuntime().exec(«some.exe «) молча

#java #command #runtime #prompt #runtime.exec

#java #команда #время выполнения #запрос #runtime.exec

Вопрос:

У меня есть следующий код, который запускает exe

 Runtime.getRuntime().exec("some.exe");
  

Проблема в том, что я вижу консоль, которая появляется некоторое время, пока some.exe запускается.

Варианты, которые я пробовал до сих пор

 Runtime.getRuntime().exec("cmd /C /Q start /B some.exe")
Runtime.getRuntime().exec("cmd /C start some.exe")
Runtime.getRuntime().exec("cmd /c some.exe")
  

и ни один из них не подавляет консоль. Я не хочу добавлять bat-файл, который будет запускаться inturn some.exe автоматически. Есть ли способ отключить консоль непосредственно из
Runtime.getRuntime().exec() ?

Комментарии:

1. Если вы откроете командную строку и просто запустите some.exe , там тоже откроется новое окно?

2. Обычно exe-файл имеет некоторый флаг, который позволяет ему запускаться скрыто. Не похоже, что консоль запускается Java

3. @Andreas Нет, some.exe не открывает командную строку

4. @lalo вы правы, Runtime exec не запускает консоль, и я проверил это, создав простой java-класс, который запускает runtime exec some.exe . Я использую launch4j.sourceforge.net обернуть некоторый java-код в exe, который затем выполняет некоторые проверки и, наконец, вызывает some.exe . Окно консоли — это окно launch4j при его запуске. Теперь я должен придумать способ отключить консоль launch4j.

5. Я нашел свой ответ, это был headertype launch4j.sourceforge.net/docs.html это необходимо было обновить. Я переключил его на графический интерфейс пользователя (я использовал консоль), и теперь я не вижу никакой консоли. Спасибо всем за руководство.