Есть ли способ скрыть консоль запуска win32 от Java-программы (если это возможно без JNI)
Вы запускаете Java-программу из консоли (возможно, с помощью сценария.bat). Я не хочу, чтобы консоль оставалась видимой, я хочу скрыть это.
Есть ли простой способ сделать это? Без JNI?
7 ответов
Используйте челюсть.
http://java.sun.com/javase/6/docs/tooldocs/windows/java.html
Команда javaw идентична java, за исключением того, что с javaw нет ассоциированного окна консоли. Используйте javaw, если вы не хотите, чтобы отображалось окно командной строки. Однако программа запуска javaw отображает диалоговое окно с информацией об ошибках, если запуск по какой-либо причине не удался.
Вы можете запустить Java-приложение с start javaw
, Это скроет черное окно консоли.
Этот трюк.bat работает для общих программ, поэтому я думаю, что он также должен работать для запуска Java-программы:
Вызов start program
вместо просто program
в вашем.bat скрипте
Вы можете скрыть консоль, используя javaw.exe (без java) вместо использования java.exe.
Одна из наиболее полезных ассоциаций - сделать файлы *.jar исполняемыми с помощью java.exe. Затем вы можете просто ввести имя банки в командной строке, чтобы начать ее выполнение.
Если вы используете javaw.exe, а не java.exe, вы не увидите вывод консоли. Обратите внимание, что установщики Java часто связывают файлы *.jar с javaw.exe вместо java.exe, переопределяя ваши настройки.
Скачайте jsmooth и создайте свой собственный exe-файл за минуту или две. Затем просто используйте этот exe для запуска вашего Java-приложения. Вы можете даже получить гладкий и связать JRE со своим приложением.
Обратите внимание, что вам может потребоваться запустить javaw.exe, указав полный путь к файлу, который может потребовать добавления кавычек ", если в пути есть пробелы. Кавычки вызовут распознавание их как "название" - аргумент для "начала". " команда.
Итак, используйте следующий правильный формат:
start "MyTitle" "c:\Program Files (x86)\Java\jdk1.8.0_202\bin\javaw.exe" -jar myApp.jar
где заголовок может быть пустым, если это необходимо
В случае запуска из файла но ваш скрипт должен выглядеть так start javaw start javaw -jar ***.jar