ассоциирование пользовательского расширения файла с приложением Java в Windows - PullRequest
5 голосов
/ 04 марта 2012

Я хотел бы "связать" несколько расширений файлов с моим Java-приложением под Windows. Когда пользователь дважды щелкает файл с «связанным» расширением, я хочу открыть свое приложение, и мне нужно знать путь к файлу, который запустил приложение.

Ответы [ 2 ]

3 голосов
/ 04 марта 2012

Если вы развернете приложение.при использовании Java Web Start интерес к типам файлов может быть объявлен в файле запуска.Смотрите демоверсию .файловых служб , которая ..

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

Когда пользователь дважды щелкает файл .zzz, он должен открыться в приложении.На самом деле, слово «подсказывает» там не вся история.Если вы запустите изолированную версию, вам будет предложено связать тип файла.Доверенная версия не запрашивает.

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

2 голосов
/ 04 марта 2012

это должно быть сделано во время установки.Как вы планируете позволить своему пользователю установить ваше приложение?

На этом этапе вы должны понимать, что вы только что все усложнили.регистрация расширений файлов означает вмешательство в реестр.что произойдет, если пользователь больше не хочет ваше приложение?или перемещает файл, который запускает ваше приложение?

вам придется выбрать создателя установки.вот такой вопрос по этому поводу: https://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers

, и тогда вам придется изучать язык создателя этого установщика.вот как то, что вы просите, сделано в nsis.Помните, что скрипт заботится о таких вопросах, как «если пользователь удаляет мое приложение, а я не менял сопоставления файлов во время установки, должен ли я тогда удалять эти сопоставления файлов при удалении?»так что это немного долго.здесь это в любом случае: http://nsis.sourceforge.net/File_Association

возможно, это можно сделать более простым способом в другом создателе установщика.

однако в этом примере вы даете функции регистрации nsis команду запускадля вашего приложения, а затем он добавляет к нему% 1 в команде запуска ассоциации файлов Windows.поэтому вы должны дать ему команду запуска

javaw -cp installpath\yourcode.jar package.name.MainClassName

, и тогда все получится.Конечно, это потребует некоторых экспериментов, и вы должны быть совершенно уверены в том, как запустить приложение из командной строки.

удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...