ShellNew-Symbol für "." Dateityp

8

Ich habe erfolgreich einen ShellNew-Befehl erstellt, damit ich eine neue leere Datei ohne Dateierweiterung erstellen kann. Die Registrierungsdatei sieht folgendermaßen aus:

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"

Das funktioniert fantastisch und alles. Es erstellt die Datei genau so, wie ich es möchte, aber das im ShellNew-Fenster angezeigte Symbol ist das Symbol für die Systempartition wie folgt:

1

Wie kann ich dieses Symbol so ändern, dass es mit dem DefaultIcon übereinstimmt, das ich für den Dateityp selbst bereitstelle? Ich habe versucht, einen "Icon" -String-Wert so zu erstellen, wie ich es für die Menüelemente "Unity" und "Sublime Text" tun musste, und das hat nicht funktioniert, egal wo ich ihn abgelegt habe.

GodsBane
quelle
Ich kann replizieren. Ich versuche herauszufinden, ob es einen Weg gibt, das Problem zu beheben ...
Karan
Ich nehme an, Sie haben noch keine Lösung gefunden? Ich denke, dass die Registrierung etwas enthalten muss, das besagt, dass es sich um ein Laufwerk handelt, da kein Dateityp zugeordnet ist.
GodsBane
Sieht so aus, und wenn ich es herausgefunden hätte, hätte ich natürlich eine Antwort gepostet.
Karan
Ich kann das scheinbar nicht wiederholen.
Visual Vincent

Antworten:

3

Versuchen Sie dies, funktioniert wie Magie.

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"

Nur ändern. Ich habe einen IconPath auf der .ext-Ebene hinzugefügt. Dateitypzuordnungen sind erstaunliche Sachen!

w32sh
quelle
Eine andere Sache ist, dass Sie für das DefaultIcon der ProgID eine erweiterbare Zeichenfolge festgelegt haben, die eigentlich vom Typ REG_EXPAND_SZ anstelle von REG_SZ sein sollte. Unabhängig davon scheint ShellNew das dort definierte Symbol nicht zu verwenden.
w32sh
Ja, das macht es. Gut gemacht!
Ben N
Wow, ~ 9 Monate alt und so eine einfache Lösung. Beeindruckende Arbeit!
GodsBane
Es hieß, das Kopfgeld würde "in 2 Stunden" geschlossen.
Dann
0

Solltest du nicht "imageres.dll, 3" verwenden, weil es das dritte Symbol in imageres.dll ist?

Sie können die Anwendung Standardprogrammeditor ausprobieren, das Programm öffnen, auf Symbole klicken, den Dateityp suchen, auf Weiter klicken, das Symbol aus den Bildern auswählen und als .REG-Datei speichern und dann überprüfen, was sich in dieser .reg befindet.

orion310591
quelle
Sie können den Standardprogramm-Editor hierfür nicht verwenden, da die von ihm erstellte Datei keine Erweiterung hat.
GodsBane
@ orion310591: Der Index beginnt bei 0. Es ist also technisch gesehen das 2. Symbol.
w32sh
0

Wenn Sie den Typ "Leere Datei" im Tool "FileTypesMan" finden, können Sie dort möglicherweise das Standardsymbol ändern.

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

Stian Lund
quelle
Ich habe den Eindruck, dass diese Art von Tools nur das tun, was das OP manuell getan hat, aber ich werde es versuchen, wenn ich Zeit habe.
Ben N
@BenN Ich denke, Sie haben Recht - ich nahm an, dass OP es nur "reparieren" wollte, aber ich denke, sie wollen eine Regedit-Lösung finden.
Stian Lund
Irgendwo muss Windows das Symbol überschreiben, da FileTypesMan das richtige Symbol sieht, es dort anzeigt und ShellNew dennoch das Symbol für das Betriebssystemlaufwerk anzeigt. Dies ist in Windows 10 immer noch der Fall, obwohl ich bezweifelte, dass sich dies geändert hätte.
GodsBane
0

Aus irgendeinem Grund wird hierfür dasselbe Standardsymbol wie für Ihr CLaufwerk verwendet.

Sie können dies selbst sehen, indem Sie den folgenden Schlüssel erstellen, falls dieser noch nicht vorhanden ist:

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

Und setzen Sie die (Standard) auf:

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

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Ich fürchte, ich kann nicht genau antworten, warum dieses Verhalten auftritt. Es gibt tatsächlich einen anderen Thread hier , dass , obwohl das Symbol mit einem anderen Registrierungsschlüssel ändern verwaltet.

Jonno
quelle