Есть ли способ скрыть консоль запуска 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