Этого нельзя достичь с помощью Java.Ну хотя бы без прав администратора.Windows отображает значки для расширений файлов, принимая значения из Реестры Windows. Дело в том, что когда появляется значок, он должен принимать всех пользователей согласно этой ссылке. В ссылке, HKEY_CLASSES_ROOT
указано для достижения этого.Вот где приходит часть «Права администратора».Стоит отметить, не будучи на 100% уверенным, что файл .JAR (Java-приложение) может быть выполнен с правами администратора, только если вы выполните cmd
как администратор , а затем java -jar myapp.jar
.Я потратил много часов один день, чтобы редактировать эти реестры с Java, и мне не удалось сделать это без прав администратора.(Если вы это сделаете, дайте мне знать, как вы это делали :))
Теперь предположим, что у вас есть права администратора, в одну сторону, будет простая команда reg
от привилегированного администратора cmd
.
Как описано в предыдущей ссылке, вы не можете просто (я не уверен) изменить значок расширения файла, не указав полный путь к исполняемому файлу вашей программы (.exe
).Да, вы догадались, ваша программа не является исполняемым файлом Windows.Это просто сжатый файл.Итак, это также отклоняется.
Теперь ваша проблема направлена прямо к Как я могу преобразовать файл JAR в файл EXE? .Затем, плюс права администратора, вы можете сделать это.
Мой личный совет - найти конвертер JAR в EXE, который дает эту возможность во время установки программы.Я имею в виду, я уверен, что вы видели в установке Windows что-то вроде «Связать TXT-файлы с Notepad ++».