Есть ли способ скрыть консоль запуска win32 из программы Java (если возможно без JNI)

Вы запускаете Java-программу с консоли (возможно, используя .bat script). Я не хочу, чтобы консоль оставалась видимой, я хочу скрыть ее.

Есть ли простой способ сделать это? Без JNI?

Ответы

Ответ 1

Используйте javaw.

http://java.sun.com/javase/6/docs/tooldocs/windows/java.html

Команда javaw идентична java, за исключением того, что с javaw нет связанного окна консоли. Используйте javaw, когда вы не хотите, чтобы появилось окно командной строки. Тем не менее, javaw launcher отображает диалоговое окно с информацией об ошибке, если по какой-то причине запуск невозможен.

Ответ 2

Вы можете запустить Java-приложение с помощью start javaw. Он скроет черное окно консоли.

Ответ 3

Этот трюк .bat работает для общих программ, поэтому я думаю, что он также должен работать для запуска java-программы:

Вызовите start program вместо program в вашем .bat script

Ответ 4

Вы можете скрыть консоль, используя javaw.exe(java без), вместо использования java.exe.

Одной из наиболее полезных ассоциаций для настройки является создание файлов *.jar, исполняемых с помощью java.exe. Затем вы можете просто ввести имя флага в командной строке, чтобы запустить его выполнение.

Если вы используете javaw.exe, а не java.exe, вы не увидите вывод консоли. Остерегайтесь, установщики Java часто ассоциируют файлы *.jar с javaw.exe вместо java.exe, переопределяя ваши настройки.

Ответ 5

загрузить jsmooth и создать свой собственный exe через минуту или две. Затем просто используйте этот exe для запуска приложения java. Вы даже можете получить пятно и связать JRE с вашим приложением.

http://jsmooth.sourceforge.net

Ответ 6

В случае, если fo работает из файла, ваш script должен выглядеть так: start javaw start javaw -jar ***.jar