Я немного поэкспериментировал, и вы можете достичь этого без каких-либо сценариев и без JNI: Lucida можно выбрать, сделав ссылку на cmd.exe и отредактировав свойства этой ссылки.
Я открыл ссылку в hex-редакторе, чтобы увидеть, что там выбрана Lucide Console. Самое интересное, что внутри ссылки закодирован абсолютный путь к cmd.exe (в моей системе это D: \ Win ...), а затем я скопировал ссылку на другой компьютер, чтобы увидеть, если он Волшебно также работает там (Windows находится на C-Drive на этом компьютере), и это делает: Windows фиксирует абсолютный путь к cmd.exe для вас, и консоль, которая открывается на этом компьютере, также установлена на Lucida.
Теперь все, что вам нужно, чтобы открыть вашу программу внутри этой консоли (и заставить ее печатать в этой консоли), все, что вам нужно, это командный файл, содержащий имя файла ссылки (оканчивающегося на .lnk, который скрыт в большинстве систем ), за которым следует название вашей программы, например:
c.lnk t.exe
, так как вы используете Java, я думаю, вам придется написать что-то вроде:
c.lnk java sth.jar
Я создал минимальный пример, который вы можете найти здесь:
http://www.mediafire.com/?1yn40gsed3isjut
содержит:
минимальный t.exe, который просто выскочит, открывает MessageBox (если вы не доверяете t.exe, просто откройте его в блокноте или pedump и увидите, что он вызывает только MessageBox, никаких других API-функций)
ссылка c.lnk на cmd.exe, настроенная для использования Lucida, (абсолютный путь будет установлен Windows при ее запуске)
.bat-файл, который вызывает t.exe через c.lnk