Systemowe menu kontekstowe

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.

0

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

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.

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ę.

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ę.

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.

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.

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1