Ikona ShellNew dla „.” Typ pliku


8

Pomyślnie utworzyłem polecenie ShellNew, dzięki czemu mogę utworzyć nowy pusty plik bez rozszerzenia. Plik reg wygląda następująco:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\.]

[HKEY_CLASSES_ROOT\.]
@="emptyFile"

[HKEY_CLASSES_ROOT\.\ShellNew]
"NullFile"=""
@="Empty File"
"ItemName"=""

[HKEY_CLASSES_ROOT\.\ShellNew\Config]
"NoExtension"=""

[-HKEY_CLASSES_ROOT\emptyFile]

[HKEY_CLASSES_ROOT\emptyFile]
@="Empty File"

[HKEY_CLASSES_ROOT\emptyFile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,2"

To działa fantastycznie. Tworzy plik tak, jak tego chcę, ale ikona wyświetlana w oknie ShellNew jest ikoną partycji systemowej w następujący sposób:

1

Jak mogę zmienić tę ikonę, aby pasowała do DefaultIcon, który podam dla samego typu pliku? Próbowałem utworzyć ciąg znaków „Ikona”, taki jak to, co musiałem zrobić dla elementów menu Unity i Sublime Text, i to nie działało bez względu na to, gdzie go umieszczę.


Mogę replikować. Próbuję dowiedzieć się, czy jest jakiś sposób, aby to naprawić ...
— Karan

Przypuszczam, że jeszcze nie znalazłeś rozwiązania? Myślę, że musi być coś w rejestrze, co oznacza, że ​​skoro nie ma powiązanego typu pliku, zakłada, że ​​jest to dysk?
— GodsBane

Wygląda na to, a gdybym to wymyślił, oczywiście napisałbym odpowiedź.
— Karan

Nie mogę tego powtórzyć.
— Visual Vincent,

Odpowiedzi:


3

Spróbuj, działa jak magia.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="emptyFile"

[HKEY_CLASSES_ROOT\.\ShellNew]
"NullFile"=""
@="Empty File"
"ItemName"=""
"IconPath"="C:\\windows\\system32\\imageres.dll,2"

[HKEY_CLASSES_ROOT\.\ShellNew\Config]
"NoExtension"=""

[-HKEY_CLASSES_ROOT\emptyFile]

[HKEY_CLASSES_ROOT\emptyFile]
@="Empty File"

[HKEY_CLASSES_ROOT\emptyFile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,2"

Tylko zmień. Dodałem IconPath na poziomie .ext. Powiązania typów plików to niesamowite rzeczy!


Inną rzeczą jest to, że dla DefaultIcon ProgIDa ustawiłeś ciąg rozwijany, który naprawdę powinien być typu REG_EXPAND_SZ zamiast REG_SZ. Niezależnie od tego wydaje się, że ShellNew nie używa zdefiniowanej tam ikony.
— w32sh

Tak, to robi. Dobra robota!
— Ben N

Wow, w wieku ~ 9 miesięcy i taka prosta poprawka. Wspaniała praca!
— GodsBane

Powiedział, że nagroda wkrótce się zakończy „za 2 godziny”. Właśnie wtedy odpowiedziałem :)
— w32sh

0

Czy chcesz użyć „imageres.dll, 3”, ponieważ jego 3. ikona w imageres.dll?

Możesz wypróbować domyślną aplikację Edytor programów, otworzyć program, kliknąć ikony, znaleźć typ pliku, kliknąć przycisk Dalej, wybrać ikonę z obrazków i zapisać jako plik .REG, a następnie sprawdzić, co jest w środku .reg.


Nie można do tego użyć Edytora programów domyślnych, ponieważ plik, który tworzy, nie ma rozszerzenia.
— GodsBane

@ orion310591: Indeks zaczyna się od 0. Więc technicznie jest to druga ikona.
— w32sh

0

Jeśli możesz znaleźć typ „Pusty plik” w narzędziu FileTypesMan, możesz tam zmienić domyślną ikonę.

FileTypesMan: http://www.nirsoft.net/utils/file_types_manager.html


Mam wrażenie, że tego rodzaju narzędzia po prostu robią to, co OP robił ręcznie, ale spróbuję tego, gdy będę miał czas.
— Ben N

@ BenN Myślę, że masz rację - założyłem, że OP chciał tylko to naprawić, ale sądzę, że chcą znaleźć rozwiązanie regedit.
— Stian Lund,

Gdzieś Windows musi przesłonić ikonę, ponieważ FileTypesMan widzi prawidłową ikonę, wyświetla ją tam, a mimo to ShellNew nadal wyświetla ikonę napędu systemu operacyjnego. Tak jest nadal w Windows 10, chociaż wątpiłem, że to by się zmieniło.
— GodsBane

0

Z jakiegokolwiek powodu używa tej samej domyślnej ikony co Cdysk.

Możesz to zobaczyć, tworząc następujący klucz, jeśli jeszcze nie istnieje:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\C\DefaultIcon

I ustawienie (Domyślne) na:

%SystemRoot%\\system32\\imageres.dll,2

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Obawiam się, że nie potrafię odpowiedzieć dokładnie, dlaczego tak się dzieje. Istnieje jednak inny wątek , który zmienia ikonę za pomocą innego klucza rejestru.

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.