Actuellement, j'ai associé différents formats de fichier texte (.md, .txt, .taskpaper) à ouvrir par du texte sublime. Il en résulte que TOUS se voient attribuer le fichier d'icône SAME, à savoir l'icône de texte sublime.
Comment puis-je obtenir que chaque format de fichier ait son propre fichier d'icône unique (fourni par moi)?
Modifiez l'icône associée à l'un des types de fichiers à l'aide de FileManType de Nirsoft. Le résultat: cela change l'icône pour TOUS les types de fichiers ouverts par sublime (pas ce que je voulais)
Maintenant, j'ai essayé d'être intelligent ...
Cette fois, il a simplement ignoré les icônes contenues dans les raccourcis et est resté avec l'icône sublime
Des idées?
Utiliser l'éditeur de programmes par défaut
Entre autres choses, cet éditeur vous permet de remplacer l’icône pour un seul type de fichier tout en conservant le programme associé.
Je me rends compte qu’il s’agit en fait d’une simple réponse . Cependant, je ne connais pas d’autre moyen de le faire sans modification directe du registre. Si les modifications spécifiques à effectuer vous intéressent, envisagez d'utiliser procmon
de Sysinternals pour capturer l'activité du registre lors d'un changement d'icône.
Vous pouvez vous référer à cet article MSDN
Créez une sous-clé nommée DefaultIcon dans HKEY_CLASSES_ROOT\.extension
Attribuez à la sous-clé DefaultIcon une valeur par défaut de type REG_SZ
qui spécifie le chemin d'accès complet du fichier contenant l'icône.
Déconnectez-vous et reconnectez-vous
EDIT: il semblerait que le registre Windows 10 comporte des entrées distinctes pour chaque application. Je voulais par exemple changer mon Notepad ++ .ico. J'ai donc trouvé l'entrée HKEY_CLASSES_ROOT\Notepad++_file
et modifié l'existant. Chemin DefaultIcon. J'ai oublié d'ajouter ceci. C'est l'un des commentaires
C'est assez difficile et pour des raisons très intéressantes.
Depuis Windows Vista, les types de fichiers sont principalement gérés par l'option "Choix de l'utilisateur" (voir l'interface de FileTypesMan), qui regroupe le programme, l'icône, les options de menu, etc. dans un type de fichier tel que "ChromeHTML". À l’époque, nous pouvions simplement créer un nouveau type de fichier et modifier l’option de choix de l’utilisateur d’une extension de fichier donnée en fonction du nouveau type, mais la situation est maintenant différente. Depuis Windows 8, le système introduit un "hachage" dans l’option Choix de l’utilisateur, qui consiste en principe en un mot de passe protégeant l’extension de fichier de toute modification par une personne autre que l’UI du système. Pratiquement tous les outils de gestion de types de fichiers, y compris FileTypesMan et Default Programs Editor, ne pouvaient pas déchiffrer ce mot de passe et ne pouvaient donc pas vous aider à modifier le choix de l'utilisateur.
À ma connaissance, il n’ya qu’une exception. C'est ce qu'on appelle SetUserFTA. L'auteur de l'outil a en quelque sorte inversé le système et découvert l'algorithme utilisé pour créer le hachage. Il peut donc modifier le choix de l'utilisateur pour une extension de fichier unique sans rien modifier d'autre. L'outil peut être téléchargé à partir de
Il ne vous reste donc plus qu'à créer un nouveau type de fichier comme auparavant et à utiliser SetUserFTA pour modifier l'extension.
Si plusieurs extensions de fichier sont mappées sur le même ProgId, la même icône sera utilisée. Si vous avez besoin d'icônes différentes pour différents types de fichiers/extensions, attribuez différents noms ProgId, en définissant la même application pour le verbe "open".
Par exemple:
Faire un point .md à sublime_md
Faire un point .txt à sublime_txt
et ainsi de suite ... Cela ne devient fastidieux que si vous créez des centaines de types de fichiers personnalisés.
Et le programme affecté à ces ProgIds (sublime_txt, sublime_md et sublime) est exactement le même, ne différant que par la valeur "DefaultIcon".
HKCR\sublime_txt\DefaultIcon Définissez vlaue par défaut sur "chemin:\texticon.dll"
HKCR\sublime_md\DefaultIcon Définissez vlaue par défaut sur "chemin:\mdicon.dll"
Pour mieux expliquer l'utilisation d'un exemple de fichier 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"