Jak zmienić ikonę powiązaną z określonym formatem pliku (i tylko tym formatem pliku) w systemie Windows 10?

7

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?

Sam
źródło

Odpowiedzi:

5

Posługiwać się Domyślny edytor programów

Edytor ten pozwala między innymi zastąpić ikonę pojedynczego typu pliku, zachowując powiązany program.

Zdaję sobie sprawę, że to w zasadzie a odpowiedź tylko link nie wiem jednak o żadnym innym sposobie, aby to zrobić bez bezpośredniej edycji rejestru. Jeśli interesują Cię konkretne zmiany, które należy wprowadzić, rozważ użycie procmon od Sysinternals do przechwytywania aktywności rejestru podczas zmiany ikony.

Jens Ehrich
źródło
1
Działało idealnie. Program nawet nie musi być instalowany. Nie lubię otwierać plików PDF za pomocą Edge, a ponieważ używałem Chrome do wszystkiego, ustawiam Chrome do otwierania plików PDF, ale chciałem, aby pliki PDF miały czerwone logo zamiast logo Chrome. To sprawiło, że było to bardzo proste. Tks +1
DGaleano
Potrzebowałem go dokładnie z tego samego powodu :) Działa idealnie dla mnie na Windows 10
Elena
@DGaleano Chcę zrobić to samo. Chcę otworzyć pliki .html i .pdf za pomocą Google Chrome, ale chcę, aby ikona .pdf była wyświetlana inaczej. Nie można dowiedzieć się, jak to zrobić za pomocą „Domyślnych edytorów programów”. Pokazuje pdf, htm jako jeden zestaw plików do otwarcia przez chrome. Ikona zmienia się dla obu. Jakieś wskazówki?
curious_cat
4

Możesz odwołać się do to MSDN artykuł

  1. Utwórz podklucz o nazwie DefaultIcon w HKEY_CLASSES_ROOT\.extension

  2. Przypisz domyślny klucz podklucza domyślną wartość typu REG_SZ określa pełną ścieżkę do pliku zawierającego ikonę.

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

Rithvik Vibhu
źródło
Postępuję zgodnie z radą przed edycją (dostosowując ustawienia rejestru dla typu pliku) i nie zmienia się ikona. Czy jest coś, co powinienem zrobić w rejestrze dla aplikacji?
Sam
@Sam musisz się wylogować i zalogować ponownie, aby zobaczyć zmiany
Rithvik Vibhu
Wylogowałem się i ponownie się zalogowałem. Wciąż nie działa. Być może jest „nadpisywany” przez ikonę przypisaną do aplikacji, która otwiera te typy plików?
Sam
2
Dalsze informacje powyższa metoda działa dla dowolnego typu pliku, który NIE jest już powiązany z programem (a więc i ikoną). Mam kroki, aby pracować dla (stosunkowo niejasnego) formatu „.arj”. Jednak muszę go zmusić do pracy z formatem plików „.md”, który ma przypisany konkretny exe.
Sam
@Sam ten sam problem tutaj. Próbuję naprawić ikonę pliku SVG Adobe Illustratora na WIndows, ale nie działa to, gdy typ pliku SVG jest rzeczywiście powiązany z Illustratorem. Bardzo frustrujące.
JacobTheDev
1

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.

Mu-Tsun Tsai
źródło
1
Jestem bardzo niezdecydowany, aby wydać upvote do tej odpowiedzi, ale zrobiłem to, jeśli znajdziesz inne pytania, po prostu zaznacz pytania jako duplikat, zamiast wysyłać wiele identycznych odpowiedzi, które zalecają tę aplikację.
Ramhound
Przepraszam, jeśli ta odpowiedź została udzielona wcześniej, ale z pewnością zajęło mi to dużo czasu, aby ją znaleźć. Gdy Google podam temat, ta strona pojawi się na samym szczycie, więc przypuszczam, że przyniesie to korzyści innym, jeśli opublikuję tutaj odpowiedź.
Mu-Tsun Tsai
0

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:

Windows Registry Editor Version 5.00

;For .md extension
;-----------------
[HKEY_CLASSES_ROOT\.md]
@="sublime_md"

[HKEY_CLASSES_ROOT\sublime_md\DefaultIcon]
@="c:\\mdicon.dll"

[HKEY_CLASSES_ROOT\sublime_md\shell\open]
@="Open"

[HKEY_CLASSES_ROOT\sublime_md\shell\open\command]
@="c:\\sublime.exe %1"


;For taskpaper extension
;-----------------------
[HKEY_CLASSES_ROOT\.taskpaper]
@="sublime_task"

[HKEY_CLASSES_ROOT\sublime_task\DefaultIcon]
@="c:\\taskicon.dll"

[HKEY_CLASSES_ROOT\sublime_task\shell\open]
@="Open"

[HKEY_CLASSES_ROOT\sublime_task\shell\open\command]
@="c:\\sublime.exe %1"
Win32Guy
źródło
1
To nie działa dla mnie ... Mam plik .txt wskazujący plik txt i plik txtf ma wartość DefaultIcon ustawioną na „% SystemRoot% 32resres.dll, -102”, ale ikona Notepad ++ jest nadal wyświetlana w moim tekście pliki, ponieważ to program wybrałem do otwarcia. Myślę DefaultIcon oznacza „ikonę, której używamy, jeśli nie ma przypisanego programu”.
David Grayson
Dzieje się tak, jeśli do skojarzenia typów plików użyto Programy domyślne lub Otwórz za pomocą. Ten artykuł powinien pomóc w tym przypadku, obejmuje oba aspekty. Jak zmienić domyślną ikonę typu pliku w systemie Windows? - lub możesz spróbować FileTypesMan od Nirsoft.
Win32Guy
-1

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:

HKEY_CLASSES_ROOT>.pdf>
      (Default) = pdf_auto_file   [Locate this program name for step 2]
      DefaultIcon       [added this key to the .pdf]
         (Default) = C:\Windows\system32\shell32.dll,75 [set the value of DefaultIcon]


HKEY_CLASSES_ROOT>
   pdf_auto_file>
      DefaultIcon       [add the DefaultIcon key to pdf_auto_file]
         (Default) = C:\Windows\system32\shell32.dll,75  [set the value of DefaultIcon]

Użyłem programu shareware o nazwie IconExplorer zlokalizować ikonę, która mi się podobała i uzyskać poprawną ścieżkę.

Jeff Sadar
źródło
Dlaczego ta odpowiedź została odrzucona? Wydaje się to całkiem rozsądne.
Jens Ehrich