Dowiedziałem się, jak dodawać elementy menu kontekstowego prawego przycisku myszy do plików w Eksploratorze Windows, dodając klucze do rejestru. Oznacza to, że mogę kliknąć prawym przyciskiem myszy plik w Eksploratorze i uruchomić niestandardową aplikację dla tego pliku.
Chciałbym zrobić to samo dla folderu, ale nie znalazłem na to (jeszcze) sposobu. Widzę artykuły na temat tworzenia / pisania niestandardowych programów obsługi menu kontekstowego, ale wolałbym tam nie iść.
Znalazłem tutaj artykuł na temat dodawania kaskadowych elementów menu kontekstowego do Pulpitu i do „Komputera” w Eksploratorze, ale to nie działa dla żadnego folderu.
Chciałbym móc dodać moją niestandardową aplikację do menu kontekstowego i umożliwić jej działanie zarówno na plikach, jak i folderach. Czy można to zrobić bez pisania programu obsługi menu kontekstowego?
Rozwiązanie znalazłem w poniższym artykule, w którym opisano, jak to zrobić za pośrednictwem rejestru plików, a także folderów:
Poniższe dwa artykuły zawierają dodatkowe informacje i opcje:
źródło
Odpowiedzi:
W edytorze rejestracji (
regedit.exe
) znajdź:Menu kontekstowe do kliknięcia prawym przyciskiem myszy na folderach w lewym panelu Eksploratora Windows lub na tle katalogu w prawym panelu:
HKEY_CLASSES_ROOT\Directory\Background\shell
jeśli jesteś administratoremHKEY_CURRENT_USER\Software\Classes\directory\Background\shell
jeśli jesteś zwykłym użytkownikiemMenu kontekstowe do kliknięcia prawym przyciskiem folderów w prawym panelu Eksploratora Windows:
HKEY_CLASSES_ROOT\Directory\shell
jeśli jesteś administratoremHKEY_CURRENT_USER\Software\Classes\directory\shell
jeśli jesteś zwykłym użytkownikiemMenu kontekstowe dla dowolnego pliku:
HKEY_CLASSES_ROOT\*\shell
jeśli jesteś administratoremHKEY_CURRENT_USER\Software\Classes\*\shell
jeśli jesteś zwykłym użytkownikiemWe wszystkich przypadkach:
shell
, nadając mu nazwę tak, jak chcesz nazwać element menu kontekstowegocommand
(nazwa obowiązkowa)default
właściwość w,command
abymyprogrampath\path\path\executable.exe %1
przekazać ścieżkę do pliku i nazwę wybranego pliku do programu niestandardowegoWięcej dostosowań:
icon
dla klucza utworzonego w kroku 1 z wartością pasującą do ścieżki zasobu ikony. Możesz również podać argumenty w postaci liczb całkowitych, aby określić, której ikony użyć. Przykład:%SystemRoot%\System32\shell32.dll,3
Extended
naciśnięciu klawisza Shift : dodaje pustą wartość ciągu o nazwie odpowiadającej kluczowi utworzonemu w kroku 1Position
jednego z:Top
,Bottom
źródło
HKEY_CLASSES_ROOT\Directory\Background\shell
może wpływać tylko na kliknięcie prawym przyciskiem myszy w tle katalogu"%1"
na wypadek, gdyby ścieżka miała spacje.Command
, prawda?%1
przez%V
.Wróciłem i odpowiedziałem na to również w innym temacie, ponieważ nie wydaje się, aby w tym pytaniu było zbyt wiele.
Odkryłem, że najprostszym sposobem jest dodanie wartości ciągu do klucza o nazwie „AppliesTo” i ustawienie jego wartości na „under: {path}”
W moim przykładzie chcę, aby wyglądał tylko na dysku T, więc moja wartość ciągu to „AppliesTo”: „under: T:”.
W C # można to łatwo osiągnąć, wykonując następujące czynności:
źródło
Znalazłem czystsze, łatwiejsze i szybsze rozwiązanie: utwórz plik tekstowy, wypełnij go tymi treściami, zaktualizuj go do swoich potrzeb, zapisz z sufiksem .reg i uruchom go (nie potrzebuje uprawnień administratora, ponieważ uzyskuje dostęp do części rejestru użytkownika ):
W ten sposób możesz również mieć kopię zapasową konfiguracji: po prostu zapisz plik .reg w bezpiecznym miejscu. Jeśli ręcznie edytujesz rejestr po uruchomieniu pliku, kliknij prawym przyciskiem myszy i wybierz opcję „Eksportuj”.
Uważaj na podwójne cofnięcia w ścieżce: \\
źródło
Jedyne dobre rozwiązanie, które naprawdę działa, to: /superuser/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other
Dodaj klucze w HKEY_CLASSES_ROOT \ SystemFileAssociations \ your.extension \ shell \ command. Zmodyfikuj ostatni klucz za pomocą polecenia, które chcesz wykonać.
Dla mnie było to:
Jeśli wyeksportuję to, otrzymam plik .reg:
źródło
Otwórz wiersz polecenia [uruchom jako administrator] i wykonaj to polecenie
Aby uzyskać więcej informacji na temat większej liczby funkcji uruchom: -
źródło