Icône ShellNew pour "." Type de fichier

8

J'ai réussi à créer une commande ShellNew afin de pouvoir créer un nouveau fichier vierge sans extension de fichier. Le fichier reg ressemble à ceci:

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"

Cela fonctionne à merveille et tout. Il crée le fichier comme je le veux, mais l'icône affichée dans la fenêtre ShellNew est l'icône de la partition système comme suit:

1

Comment puis-je changer cette icône pour qu'elle corresponde à l'Icon DefaultIcon que je fournis pour le type de fichier lui-même? J'ai essayé de créer une valeur de chaîne "Icon" comme ce que je devais faire pour les éléments de menu Unity et Sublime Text, et cela n'a pas fonctionné, peu importe où je l'ai mis.

GodsBane
la source
Je peux reproduire. Essayer de comprendre s'il y a un moyen de le réparer ...
Karan
Je suppose que vous n'avez pas encore trouvé de solution? Je pense qu'il doit y avoir quelque chose dans le registre indiquant que puisqu'il n'a pas de type de fichier associé, il suppose que c'est un lecteur?
GodsBane
Cela ressemble, et si je l'avais compris, j'aurais bien sûr posté une réponse.
Karan
Je n'arrive pas à reproduire cela.
Visual Vincent

Réponses:

3

Essayez ceci, fonctionne comme par 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"

Changez seulement. J'ai ajouté un IconPath au niveau .ext. Les associations de types de fichiers sont incroyables!

w32sh
la source
Une autre chose est que, pour le DefaultIcon du ProgID, vous avez défini une chaîne extensible, qui aurait vraiment dû être de type REG_EXPAND_SZ au lieu de REG_SZ. Quoi qu'il en soit, ShellNew ne semble pas utiliser l'icône définie ici.
w32sh
Oui, ça le fait. Bien joué!
Ben N
Wow, ~ 9 mois, et une solution si simple. Super boulot!
GodsBane
Il a déclaré que la prime était sur le point de fermer "dans 2 heures". C'est alors que j'ai répondu :)
w32sh
0

N'êtes-vous pas censé utiliser "imageres.dll, 3" parce que sa 3ème icône dans imageres.dll?

Vous pouvez essayer l'application Éditeur de programmes par défaut, ouvrir le programme, cliquer sur les icônes, trouver le type de fichier, cliquer sur suivant, choisir l'icône parmi les images et enregistrer en tant que fichier .REG, puis vérifier ce qui se trouve à l'intérieur de ce .reg.

orion310591
la source
Vous ne pouvez pas utiliser l'Éditeur de programmes par défaut pour cela car le fichier qu'il crée n'a pas d'extension.
GodsBane
@ orion310591: L'index commence à 0. C'est donc techniquement la 2ème icône.
w32sh
0

Si vous parvenez à trouver le type "Fichier vide" dans l'outil FileTypesMan, vous pourrez peut-être y changer l'icône par défaut.

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

Stian Lund
la source
J'ai l'impression que ce genre d'outils fait juste ce que l'OP a fait manuellement, mais je vais l'essayer quand j'aurai le temps.
Ben N
@BenN Je suppose que vous avez raison - je supposais que OP voulait juste le «réparer», mais je suppose qu'ils veulent trouver une solution regedit.
Stian Lund
Quelque part, les fenêtres doivent remplacer l'icône parce que FileTypesMan voit l'icône correcte, l'affiche là, et pourtant ShellNew affiche toujours l'icône du lecteur du système d'exploitation. C'est toujours le cas dans Windows 10, même si je doutais que cela aurait changé.
GodsBane
0

Pour une raison quelconque, cela utilise la même icône par défaut que votre Clecteur.

Vous pouvez le constater par vous-même en créant la clé suivante, si elle n'existe pas déjà:

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

Et en définissant (par défaut) sur:

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

entrez la description de l'image ici

entrez la description de l'image ici

J'ai bien peur de ne pas pouvoir vous expliquer exactement pourquoi ce problème se produit. Il y a en fait un autre thread ici qui parvient à changer l'icône avec une clé de registre différente.

Jonno
la source