• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

program używający własnego rozszerzenia

Object Storage Arubacloud
+1 głos
487 wizyt
pytanie zadane 15 lipca 2021 w C i C++ przez Pabllo26 Obywatel (1,280 p.)
Witam
Orientuje się ktoś może jak w c++ zaprogramować taką akcję, kiedy ktoś otwiera sam plik do naszego programu? Wiem że trzeba taki program wpisać do rejestru w systemie, tylko nie wiem jak to zaprogramować w c++
Z góry dzięki za odpowiedź
komentarz 15 lipca 2021 przez Oscar Nałogowiec (29,290 p.)
A po co chcesz to robić z poziomu programu? To powinien zrobić instalator.
komentarz 15 lipca 2021 przez Pabllo26 Obywatel (1,280 p.)
źle mnie zrozumiałeś. Mam zamiar napisać program, który będzie tego rozszerzenia używał, tak jak np. paint używa .png czy tam .jpg. I o to pytam jak zaprogramować taką akcję otwieranego pliku
komentarz 16 lipca 2021 przez j23 Mędrzec (194,920 p.)
Czyli nie pytasz się, jak zarejestrować takie rozszerzenie z poziomu twojej aplikacji, tylko jak pobrać ścieżkę do "dwuklikniętego" pliku, tak?
komentarz 16 lipca 2021 przez Pabllo26 Obywatel (1,280 p.)
No tak
1
komentarz 16 lipca 2021 przez j23 Mędrzec (194,920 p.)

Prosto:

int main(int argc, char *argv[])
{
    if(argc > 1) {
        std::cout << argv[1] << '\n';
        std::cin.get();
    }
}

 

2 odpowiedzi

0 głosów
odpowiedź 16 lipca 2021 przez niezalogowany
Za obsługę skojarzeń plików odpowiada system operacyjny. Wskazujesz mu rozszerzenie twojego pliku, a następnie ścieżkę do głównego pliku wykonywalnego twojej aplikacji. Z tego co kojarzę to ścieżkę do tego pliku podaję jako pierwszy argument wiersza poleceń. Potem w programie musisz dodać obsługę w sytuacji kiedy taki argument zostanie podany. Można to zrobić ręcznie w panelu sterowania. Nie trzeba grzebać w rejestrze.

Nie wiem jak to jest w C++, ale w C# można z poziomu aplikacji dodać skojarzenie, ale głównie robi to instalator aplikacji. Podczas instalacji dodaje odpowiednie wpisy do rejestru odpowiedzialne właśnie za obsługę danego formatu pliku.
0 głosów
odpowiedź 16 lipca 2021 przez VBService Ekspert (252,740 p.)
1
komentarz 16 lipca 2021 przez j23 Mędrzec (194,920 p.)

Poprawna rejestracja powinna wyglądać tak:

  • w kluczu HKEY_LOCAL_MACHINE\Software\Classes rejestruje się rozszerzenia dla wszystkich użytkowników (trzeba praw admina).

  • w kluczu HKEY_CURRENT_USER\Software\Classes rejestruje się tylko dla aktualnego konta. Rozszerzenia zarejestrowane tutaj mają prymat nad tymi z gałęzi HKLM.

HKEY_CLASSES_ROOT to widok złożony z zawartości HKLM i HKCU.

 

To tak gwoli doprecyzowania ;)

Podobne pytania

+2 głosów
2 odpowiedzi 679 wizyt
0 głosów
0 odpowiedzi 123 wizyt
pytanie zadane 13 kwietnia 2019 w HTML i CSS przez Alan Kruszyński Obywatel (1,410 p.)
0 głosów
1 odpowiedź 109 wizyt
pytanie zadane 17 marca 2019 w Sieci komputerowe, internet przez Sunhan Nowicjusz (160 p.)

92,555 zapytań

141,402 odpowiedzi

319,544 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...