Jak zarejestrować nową ikonę dla typu pliku NIE związanego z aplikacją


0

Dla mojego filesuffix ".special" stworzyłem nową ikonę i zapisałem ją jako plik o nazwie c: special.ico.

Stworzyłem także nową wartość rejestru HKEY_CLASSES_ROOT.special (Standard) REG_SZ c: special.ico

Po ponownym uruchomieniu komputera mój plik c: special.ico jest wymieniony w menedżerze plików razem z nową ikoną przed nim, ale wszystkie moje pliki c: jakiś folder nazwa_pliku.special nadal będą wyświetlane ze starym domyślna ikona.

Co muszę zrobić, aby były wyświetlane z nową ikoną?


Domyślna konfiguracja musi być zdefiniowana na poziomie Prog ID. Ten przewodnik powinien pomóc. Jak zmienić domyślną ikonę typu pliku w systemie Windows?
— Win32Guy

Nie umieszczaj (SOLVED) w swoim tytule, zaznacz pole wyboru obok odpowiedzi, która rozwiązała problem lub stwórz własną odpowiedź i zaakceptuj ją, jeśli sam ją rozwiązałeś.
— Scott Chamberlain

Dość ostry, że to pytanie ma negatywne punkty. To dość podstawowy problem, który nowicjusz będzie musiał wypróbować na Windowsie. Interfejs ikon ekstraktu systemu Windows jest / jest nadal usuwany na tak wiele sposobów, a dokumentacja dotycząca tego, jak to „naprawdę” działa, tak bardzo brakuje firmie Microsoft. W rzeczywistości można powiedzieć, że „właściwy” sposób korzystania z niego - tak naprawdę nie istnieje, z wyjątkiem kilku wyraźnych sposobów, które Explorer używa wewnętrznie. Powinni zrzucić to na korzyść nowszego interfejsu IThumbnailProvider, aby tworzyć ikony, gdy dodawali je do Visty i porzucili ten zepsuty bałagan jako dziedzictwo.
— mysticcoder

Odpowiedzi:


0

Wygląda na to, że przegapiłeś dodanie DefaultIcon podklucz. Następnie...

Przypisz podklucz DefaultIcon domyślną wartość typu REG_SZ   określa pełną ścieżkę do pliku, który zawiera   Ikona.

Z zasobów programistycznych Microsoft - Jak przypisać niestandardową ikonę do typu pliku

Następnie musisz wywołać aktualizację pamięci podręcznej ikon. Zamiast kompletnej przebudowy pamięci podręcznej, REFRESH to łatwy sposób na wykonanie tego polecenia z poziomu Run dialog.

Dla Windows 10; ie4uinit.exe -show

Dla Windows 7 i 8; ie4uinit.exe -ClearIconCache


0

Dokumentacja MS jest poprawna, ale nie trafia na część dla użytkownika (klucz UserChoice). Jeśli klucz Userchoice istnieje i wskazuje na ProgID, ten ProgID będzie obowiązywał zamiast tego w HIDCRID.

Jeśli możesz opublikować zrzut typu pliku dla .special rozszerzenie, ktoś będzie mógł ci pomóc lepiej. FileTypeDiag to ładne narzędzie, które generuje pełny raport.


0

CharlieRB i w32sh, dziękuję! Szczególnie doceniam link w32sh do FileTypeDiag, który wydaje się być użytecznym narzędziem, o którym nie wiedziałem.

Czym jest DOES jest tekst w łączu MS, ale który nie jest wystarczająco precyzyjny; odpowiedni przykład jest całkowicie niewłaściwy lub nawet błędny.

Gdy chcesz tylko nowej ikony dla nowego typu pliku (tj. Takiej, która nie jest jeszcze powiązana z jakąś aplikacją), wykonaj następujące czynności w rejestrze, jeśli przyrostek / typ pliku to .x i pełna ścieżka (.exe , .ico lub inny) plik zawierający ikonę c: y.ico

W kluczu HKEY_CLASSES_ROOT

.x (tj. tworzysz nowy klucz, który zostawiasz pusty, nie pomijaj kropki, jest to część nazwy klucza)

.x Domyślny interfejs (tworzysz nowy podklucz DefaultIcon w nowym kluczu .x)

o następującej wartości:

(Standard) (typ: REG_SZ) c: y.ico (brak podwójnych cudzysłowów („”))

Po wyłączeniu i ponownym uruchomieniu komputera lub po prostu wylogowaniu użytkownika, a następnie zalogowaniu użytkownika (zwykły użytkownik) zmiana będzie tak samo niewystarczające, jak zwykłe „odświeżenie rejestru”, zobaczysz wtedy pliki .x w menedżerze plików wraz z ich Nowy ikona z pliku y. (To samo odnosi się do zmiany ikony bez zmiany nazwy pliku / lokalizacji ikony, tj. Po zastąpieniu zawartości pliku ikony: Następnie nowa ikona będzie widoczna dopiero po ponownym uruchomieniu lub zalogowaniu się użytkownika).

Twoje zdrowie!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.