Systemowe menu kontekstowe

Systemowe menu kontekstowe
J5
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
0

Witam,
Chciałbym dodać opcje do menu kontekstowego systemu, oczywiście w kodzie programu. Tak, aby gdy naciśniemy prawym przyciskiem myszy na pliki o pewnych rozszerzeniach został uruchomiony mój program z odpowiednimi parametrami. Próbowałem googla, ale po angielsku są same strony na temat kontrolki context menu, a po polsku - pustka.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:7 dni
  • Lokalizacja:Wrocław
0

Musisz dodać odpowiedni wpis do rejestru, np. w sekcji HCU\Software\Classes. Powinna wystarczyć klasa Registry.

J5
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
0

Dzięki bardzo za odpowiedź.
Będę musiał pociągnąć temat bo szukam już długo i nic nie potrafię znaleźć...
Gdzie i z jaką wartością powinienem dodać klucz? Załóżmy że mój program znajduje się w C:\My app.exe. Mogę prosić przykład? Nie mam o tym zielonego pojęcia a google mówi bardzo mało.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:7 dni
  • Lokalizacja:Wrocław
0
ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:około godziny
0

zajrzyj do rejestru pod klucz HKCR (ten podany przez somekinda zawiera tylko skojarzenia rozszerzeń dla bieżącego usera), popatrz i pomyśl chwilę, struktura danych tłumaczy się sama przez się.


J5
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
0

Dzięki bardzo.
Wykorzystałem przykład od somekind'a, pogłówkowałem trochę tak jak radził ŁF i zrobiłem to dla każdego usera. Jednak wciąż czuje niedosyt. Chodzi o to, że teraz plik domyślnie się otwiera moim programem. Robię to dla plików *.doc i *.docx i jednak chciałbym na dwukliku mieć otwarcie przez Word'a, a dopiero gdzieś w context menu do wybrania mój program. Domyślam się, że jestem niedaleko od sukcesu, ale ciągle nie umiem sobie poradzić. Proszę o jeszcze jakąś wskazówkę. Jeszcze raz dziękuję.

edytowany 2x, ostatnio: joni55
msm
Administrator
  • Rejestracja:około 16 lat
  • Ostatnio:5 miesięcy
1
ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:około godziny
0

chyba pogłówkowałeś niewystarczająco; wystarczyło spojrzeć UWAŻNIE na to, co znajduje się w kluczu dla typu plików, które mają aktywne "open with". oczom Twoim ukazałby się klucz OpenWithProgids, a w nim wartości prowadzące do kluczy, w których są skonfigurowane wpisy dla większości programów znajdujących się w pożądanym przez Ciebie podmenu.


J5
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
0

Tak czy inaczej, na przyszłość, dla innych. Po przykładzie MSM'a zauważyłem że standardowe otwieranie doc'ów, zapisane przez worda, przysłania mi wszystko to co dodam do Shell'a rozszerzeń *.doc i *.docx. Osiągnąłem mój cel gdy zostawiłem standardowe otwieranie dla rozszerzenia, a edytowałem Shell'a Word.Document.8 i Word.Document.12.
Dzięki za pomoc.

DY
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
  • Postów:33
0

Klucze w rejestrze które szukasz to : HKey_CLASSES_ROOT* \ shellex \ ContextMenuHandlers
i 2 klucz chyba nie muszę tłumaczyć nazwa mówi za siebie: HKey_CLASSES_ROOT* \OpenWithList

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.