Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Как открыть нативную консоль системы из java программы?


Рекомендуемые сообщения

Нет, все таки коммандную строку :)

Но так как это делают нативные бинарники (в windows двойным щелчком), а не внешними средствами типа .bat, .sh, .desktop и т.п.

Ссылка на комментарий
Поделиться на другие сайты

ShellExecute

http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx

 

Осталось сообразить, как это использовать в ява. :)


А, в java надо юзать Runtime.getRuntime().exec

 

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

Изменено пользователем Teddy_Bear
Ссылка на комментарий
Поделиться на другие сайты

Данная функция предполагает выполнение внешней команды.

 

В моем случае программа использует стандартную консоль системы, получаемую System.console(), но в случае открытия двойным щелчком, консоль отсутствует, функция возвращает null, а потому нужна функция которая откроет консоль, доступную через System.console(). :)

Ссылка на комментарий
Поделиться на другие сайты

Боюсь, что не выйдет. По документации к консоли:

http://docs.oracle.com/javase/6/docs/api/java/io/Console.html

If the virtual machine is started automatically, for example by a background job scheduler, then it will typically not have a console.

Если виртуальная машина запускается автоматически, например, в фоновом задании планировщика, то, как правило, вы не имеете доступа к консоли.

Это баг #122429 Эклипса, если Вы работаете в этой IDE.

 

Попробуйте запустить приложение без IDE в чистом виде. (Это первое, что надо пробовать. Недавно уже был вопрос, который решился таким простым методом о котором даже не додумался упомянуть, так как это подразумевается в первую очередь. Многие непонятные ошибки так снимаются - глюки IDE).

Ссылка на комментарий
Поделиться на другие сайты

Кажется стоило начать с начала. Тогда по порядку...

Среда разработки Netbeans.

Пишу программу, собираю нативный пакет встроенными средствами.

Боюсь, что не выйдет. По документации к консоли: http://docs.oracle.c...io/Console.html If the virtual machine is started automatically, for example by a background job scheduler, then it will typically not have a console.

Фактически exe загрузчик запускает пакет аналогичным образом, то есть консоль в принципе отсутствует но...

При написании программы например на си, при попытке вывода в консоль, она открывается автоматически при отсутствии.

Отсюда предполагаю, что в Java может быть какая-нибудь функция создающая консоль, что то вроде showConsole() или createNewConsole(), не просто возвращающей, а открывающей и возвращающей консоль.

Ссылка на комментарий
Поделиться на другие сайты

Может быть ещё попробовать использовать вставку Си кода (вызова консоли) в Яву с помощью JNI. Но там очень геморройно и без гарантии успеха.

http://www.javaportal.ru/java/articles/java_and_cpp.html

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...