Obecnie skojarzyłem różne formaty plików tekstowych (.md, .txt, .taskpaper), aby były otwierane przez wysublimowany tekst. Powoduje to, że WSZYSTKIE z nich otrzymują ten sam plik ikony, a mianowicie wysublimowaną ikonę tekstu.
Jak mogę uzyskać każdy format pliku z własnym unikalnym plikiem ikon (dostarczonym przeze mnie)?
Pierwsze podejscie
Zmień ikonę powiązaną z jednym z typów plików, używając FileManType firmy Nirsoft. Wynik: zmienia ikonę WSZYSTKICH typów plików, które otwierają się wzniosłe (nie to, co chciałem)
Drugie podejście
Teraz próbowałem się sprytnie ...
- (1) utworzył skrót do sublime exe dla każdego formatu pliku
- (2) nadał każdemu skrótowi własną unikalną ikonę, którą skrót zaakceptował
- (3) ustaw program, który (powiedzmy) otworzył pliki .md na własny specjalny skrót itp ...
Tym razem po prostu zignorował ikony zawarte w skrótach i pozostał z wysublimowaną ikoną
Jakieś pomysły?
Możesz odwołać się do to MSDN artykuł
Utwórz podklucz o nazwie DefaultIcon w
HKEY_CLASSES_ROOT\.extension
Przypisz domyślny klucz podklucza domyślną wartość typu
REG_SZ
określa pełną ścieżkę do pliku zawierającego ikonę.Wyloguj się i zaloguj ponownie
EDYTOWAĆ: wygląda na to, że rejestr Windows 10 ma osobne wpisy dla każdej aplikacji, więc na przykład chciałem zmienić mój Notatnik ++ .ico, więc znalazłem
HKEY_CLASSES_ROOT\Notepad++_file
wpis i zmodyfikowano istniejącą ścieżkę DefaultIcon. Zapomniałem dodać to. To jeden z komentarzyźródło
Jest to dość trudne iz bardzo interesujących powodów.
Od Windows Vista typy plików są najczęściej zarządzane przez opcję „Wybór użytkownika” (jak widać z interfejsu FileTypesMan), która łączy program, ikonę, opcje menu itp. W jeden typ pliku, taki jak „ChromeHTML”. Wtedy możemy po prostu utworzyć nowy typ pliku, a zmodyfikować opcję Wybór użytkownika dla danego rozszerzenia pliku na nowy typ, ale teraz sprawy są inne. Od czasu Windows 8 system wprowadza „hash” do opcji User Choice, która jest w zasadzie hasłem, które chroni rozszerzenie pliku przed modyfikacją przez kogokolwiek innego niż systemowy interfejs użytkownika. Prawie wszystkie narzędzia do zarządzania typami plików, w tym FileTypesMan i Default Programs Editor, nie mogą złamać tego hasła, a zatem nie mogą pomóc w zmianie wyboru użytkownika.
Jestem świadomy tylko jednego wyjątku. Nazywa się SetUserFTA. Autor narzędzia w jakiś sposób odwrócił inżynierię systemu i zorientował się, jaki dokładnie algorytm został użyty do utworzenia skrótu, i dlatego może zmienić wybór użytkownika dla pojedynczego rozszerzenia pliku bez zmiany niczego innego. Narzędzie można pobrać z
https://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-defeated-set-file-type-associations-per-user/
Teraz wszystko, co musisz zrobić, to utworzyć nowy typ pliku jak za dawnych czasów i użyć SetUserFTA, aby zmienić rozszerzenie.
źródło
Jeśli wiele rozszerzeń plików jest mapowanych na ten sam ProgId, zostanie użyta ta sama ikona. Jeśli potrzebujesz różnych ikon dla różnych typów plików / rozszerzeń, przypisz różne nazwy ProgId, ustawiając tę samą aplikację dla czasownika „otwartego”.
Na przykład:
Ustaw punkt md na sublime_md
Ustaw punkt tekstu na tekst podrzędny
i tak dalej ... To staje się nużące tylko wtedy, gdy utworzysz setki takich niestandardowych typów plików.
A program przypisany do tych ProgIds (sublime_txt, sublime_md i sublime) jest dokładnie taki sam, różni się tylko wartością „DefaultIcon”.
HKCR podrzędny_tekst Domyślny interfejs Ustaw wartość domyślną na „path: text.dll”
HKCR sdime md DefaultIcon Ustaw wartość domyślną na „path: mdicon.dll”
Aby lepiej wyjaśnić za pomocą przykładowego pliku REG:
źródło
DefaultIcon
oznacza „ikonę, której używamy, jeśli nie ma przypisanego programu”.Właśnie przeszedłem przez to i pomyślałem, że podzielę się moim konkretnym rozwiązaniem. Lubię przeglądać pliki PDF za pomocą Chrome, ale nienawidzę tego, że wszystkie pliki PDF wyglądają jak strony Chrome lub strony internetowe Edge! Dokonałem dwóch zmian w rejestrze, chociaż nie wierzę, że zmiana rejestru .pdf była konieczna.
Kliknij prawym przyciskiem myszy, uruchom Regedit jako administrator i dodaj dwa klucze jak poniżej:
Użyłem programu shareware o nazwie IconExplorer zlokalizować ikonę, która mi się podobała i uzyskać poprawną ścieżkę.
źródło