Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program w c++, własny format plików i Windows...

Ostatnio zmodyfikowano 2011-08-03 20:08
Autor Wiadomość
cyklopek11
Temat założony przez niniejszego użytkownika
Program w c++, własny format plików i Windows...
» 2011-08-01 19:46:02
Mam program napisany w c++ który zapisuje i odczytuje pliki binarne o formacie wymyślonym przeze mnie. I teraz załóżmy że pliki takie mają rozszerzenie .xxx
 
1.)Jak zmusić Windows aby skojarzył pliki z rozszerzeniem .xxx z moim programem tzn. aby po dwukliku na ten plik został on otwierany przez mój program?
2.)Jak sprawić aby Windows w eksploratorze pokazywał te pliki .xxx z charakterystyczną (stworzoną przeze mnie) ikonką ?

Bawię się różnymi Install Creatorami i niestety nie widzę tam takiej opcji aby automatycznie podczas instalacji „poinformować” o tym Windowsa.
Oczywiście chodzi mi tu o sposób „automatyczny” tj. podczas instalacji mojego programu, a nie narzędzia/opcje folderów/typy plików.

Rozumiem że trzeba pewnie dodać te informacje do rejestru, tylko pytanie do którego klucza?
P-37853
mati1qazxsw2
» 2011-08-01 19:50:00
Musisz dodać specjalny wpis w rejestrze i (chyba)dodać parametry startowe do maina programu.
P-37854
Mrowqa
» 2011-08-02 08:55:57
Też miałem ten problem :)
Sam znalazłem rozwiązanie grzebiąc w rejestrze (ne necie nic nie znalazłem ;/).
Tworzysz
HKEY_CLASSES_ROOT/.xxx
(musisz mieć prawa admina by móc pisać...)
Wartość domyślną zamieniasz na np.
mojProgr_xxx_01
 (nazwa obojętna, ale ma być UNIKALNA).
Potem w
HKEY_CLASSES_ROOT/mojProgr_xxx_01
 tworzysz klucz:
DefaultIcon
 i jako wartość ustalasz domyślną ścieżkę do ikony (np. w pliku *.exe twojej aplikacji).
Potem tworzysz kolejny klucz (w kluczu
/mojProgr_xxx_01
):
shell/open/command
Wartości domyślne:
shell - domyślnie wybierana opcja (np. open - można dać też np. edit - ale musi istnieć taki klucz!)
open - to co wyświetla się po naciśnięciu PPM (np. &Otwórz)
command - linia poleceń, jaka jest wysyłana (np. "sciezka do programu" "%1" - spowoduje uruchomienie programu z dwoma parametrami - pierwszy to ścieżka programu (czyli norma), a drugi to ścieżka pliku *.xxx). Musisz w programie napisać kod, sprawdzający, czy nie został przypadkiem wywołany z parametrem będącym ścieżką do pliku *.xxx i obsłużyć go :)
Jak? » Kurs WinAPI, C++ » PodstawyWinAPI przychodzi z pomocą :) lekcja

Mam nadzieję, że zrozumiałeś i nie popełniłem tu błędu (piszę z pamięci :D).

Pozdrawiam,
Mrowqa
P-37883
cyklopek11
Temat założony przez niniejszego użytkownika
» 2011-08-03 20:08:49
Dzięki za info Mrowqa. Sam już zabrałem się za "grzebanie" w rejestrze windy (oczywiście na wirtualnym kompie).
P-38100
« 1 »
  Strona 1 z 1