2

У меня есть общий вопрос о Java-приложениях и их взаимодействии с общей ОС (Windows, Linux и Mac).Как включить приложение Java для открытия файлов напрямую. например щелкните правой кнопкой мыши на файле или каталоге и сможете нажать «открыть с помощью mytool»

Если у меня есть каталог с определенным набором файлов, относящихся к конкретному приложению, можно добавить элемент контекста в меню ОС, что позволит пользователю открывать эти файлы напрямую с помощью my Java-приложение ?

Я пытался найти ответы на это, но не нашел ничего важного.

Спасибо!

+2

Ответ зависит от вашей операционной системы. Но так как вы его не поставили, вы, вероятно, будете использовать Windows ... – nfechner

+0

Короткий ответ: нет. Длинный ответ: да, но вам нужно либо полагаться на программу генератора установщика, либо делать это вручную для каждой другой ОС. – Viruzzo

ответ

0

Edit:

install4j является коммерческим продуктом, который я использую для создания кросс-платформенных монтажников для моего Java приложения. Он имеет возможность выполнять ассоциации файлов для разных ОС.


Предполагая Окна ....

Этот вопрос не ява специфичны. Чтобы сделать это в Windows, вам необходимо изменить реестр.

Хороший способ сделать это с помощью программы установки инструмента, такого как NSIS

В установке скрипта, вы можете внести изменения в реестр: See Ref

Наконец увидеть эту статью о том, какие ключи реестра для редактирования, чтобы получить эта функциональность: http://www.howtogeek.com/howto/windows-vista/add-any-application-to-the-desktop-right-click-menu-in-vista/

Эти ключи могут меняться между различными версиями окон.

+0

Спасибо. Интересно, что вы предположили Windows :) Я собираюсь перейти на более кросс-платформу.Я бы предпочел не вносить изменения в записи реестра. У меня уже достаточно проблем с разрешением, которые нужно преодолеть в Windows с некоторыми пользователями :) – Eamonn

1

Используйте приложение Java Web Start для развертывания приложения. Он предоставляет множество приятных функций, включая регистрацию интереса к файловому типу (в файле запуска JNLP). Есть демо. из этого в JNLP file API example, где приложение. регистрирует интерес ..

..file расширение .zzz (просто тип файла вряд ли конфликтовать с существующими ассоциациями файлов) типа text/sleepytime контента.

Попробуйте версию с песочницей, которая на самом деле подскажет пользователю, следует ли создавать ассоциацию файлов. В доверенном приложении он просто будет делать & попытку сделать это.

Вы также можете управлять ассоциациями типов файлов в программе, используя IntegrationService (у меня не было времени экспериментировать с сервисом, поэтому пока нет демоверсии).

Создание ассоциации файлов с помощью JWS должен работать на Windows, * NIX & OS X.

+0

Спасибо за это, но меня больше интересуют приложения, запущенные за пределами webstart. Я думаю, вы дали мне хороший указатель с сервисом интеграции. – Eamonn

+0

Служба интеграции может использоваться только JWS-приложениями. ;) –

+0

Хммм ... это раздражает. У нас также есть веб-версия, но она не используется почти так же, как отдельное настольное приложение. Плюс большинство людей, использующих приложение, вероятно, будут в любом случае отключены. Я снова начну расследование. – Eamonn