Powiązanie programu z rozszerzeniem

Powiązanie programu z rozszerzeniem
N4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 193
0

Stworzyłem prosty edytor tekstu, zapisujący do wymyślonego przeze mnie formatu .5zw. Niestety, aby otwierać plik, trzeba uruchomić standardowo program i wybrać z menu Plik opcję Wczytaj, a następnie znaleźć sam plik. Jest to bardzo uciążliwe, więc postanowiłem, że zmienię ustawienia Windowsa tak, by pliki o danym rozszerzeniu były kojarzone z moim programem. Da się to zrobić ręcznie, ale jeżeli będę rozpowszechniał program, to totalną głupotą będzie tworzenie instrukcji, jak dopasować plik. Gdzieś przeczytałem, że kojarzenie rozszerzeń jest zapisane w rejestrze, a więc:

  • Czy Java może edytować pliki rejestru? Jeśli tak, to
  • Jak zmienić zapis rejestru, aby rozszerzenie było powiązane z moim programem?
RE
  • Rejestracja: dni
  • Ostatnio: dni
0

Czy wpisałeś już w google java windows registry, a potem windows registry file associations i dlaczego nie?

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

Rejestr systemowy to czysto Windowsowy, a co za tym idzie nieprzenośny wymysł i dlatego nie ma go w Javie. Rejestr możesz obsługiwać za pomocą WinAPI, a do tego możesz użyć JNA: https://github.com/twall/jna

edit:
W sumie na SO są rozwiązania i bez tego.

N4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 193
0

Rozumiem, dziękuję.

lipkerson
  • Rejestracja: dni
  • Ostatnio: dni
0

Tak jak wibowit Ci mówi - rejestr to tylko pod konkretny system, ale nie musisz od razu z JNI/JNA. Zapoznaj sie z poleceniem reg.exe i przełącznikiem /f a potem smiagasz już odpowiednie spreparowane polecenia z Runtime.exec( ... );

N4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 193
0

Właśnie sprawdziłem, że można ustalać takie rzeczy przez komendy, a klasą Runtime pobawiłem się kiedyś, wysyłając moim kolegom program-troll wyłączający komputer :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.