Je ne sais pas exactement comment cela fonctionne. Je peux donc ajouter des éléments au "nouveau" menu contextuel (qui apparaît lorsque vous cliquez avec le bouton droit ou appuyez sur le bouton de menu) via l'éditeur de registre. Par exemple, si je veux créer une nouvelle entrée de fichier .cpp, je peux importer un fichier .reg qui ressemble à ceci:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.cpp]
@="cpp"
[HKEY_CLASSES_ROOT\.cpp\ShellNew]
"NullFile"=""
[HKEY_CLASSES_ROOT\cpp]
@="C++ File"
Je peux donc définir l'extension et la description qui apparaît pour elle en utilisant cette méthode. Cependant, je ne suis pas sûr de savoir comment l'icône qui apparaît à côté de ma description est décidée. Voici ce que je veux dire:
Je ne sais pas si Windows choisit automatiquement cette image en fonction du programme que j'ai défini comme valeur par défaut pour cette extension ou si elle peut être définie manuellement dans le registre d'une manière ou d'une autre.
Cette icône peut-elle être définie manuellement?
la source
Réponses:
Par défaut, Explorer utilisera l'icône définie par le type de fichier, mais cela peut être annulé en plaçant une
IconPath
valeur dans laShellNew
clé. J'ai compris cela en utilisant Process Monitor pour surveiller l'activité du Registreexplorer.exe
.Il semble que les entrées existantes de Windows utilisent le
REG_EXPAND_SZ
type de données, maisREG_SZ
fonctionnent tout aussi bien et sont beaucoup plus faciles à inclure dans un fichier REG. Le format est le chemin d'accès complet au fichier contenant l'icône, puis une virgule, puis le numéro de la ressource icône dans le fichier. Dans cette capture d'écran, j'ai utilisé%ProgramFiles%\Windows Mail\wab.exe,10
:Comme vous pouvez le voir, cela n'affecte pas l'icône du fichier en dehors de la nouvelle liste:
Pour inclure cette modification dans votre fichier REG, ajoutez cette ligne juste sous celle-
"NullFile"=""
ci:Vous devrez redémarrer l'Explorateur pour que la modification prenne effet.
la source
REG_SZ
fonctionne avec les variables d'environnement. Peut-être qu'Explorer le développe à nouveau.RegQueryValueEx
. Le .NET Framework effectuera l'expansion desREG_EXPAND_SZ
valeurs par défaut, mais pas l'API Windows sous-jacente.Cette icône peut-elle être définie manuellement?
Oui, en utilisant le gestionnaire de types de fichiers de NirSoft :
À propos du gestionnaire de types de fichiers
FileTypesMan source - Alternative au gestionnaire «Types de fichiers» de Windows
Instructions détaillées
Source Comment changer l'icône d'un certain type de fichier dans Windows
Avertissement
Je ne suis en aucun cas affilié à NirSoft , je ne suis qu'un utilisateur final de leur logiciel.
la source
Pour mémoire: une ligne vierge doit être ajoutée après la première ligne ("Windows Registry Editor Version 5.00") d'un fichier * .reg, sinon elle générera une erreur lors de son exécution. Voir: https://support.microsoft.com/en-us/help/310516/how-to-add-modify-or-delete-registry-subkeys-and-values-by-using-a-reg#syntax pour détails de la syntaxe.
BTW, ce n'est pas vraiment une réponse à la question, mais étant nouveau ici, je ne suis pas autorisé à commenter. Mais les modérateurs @robinCTS et @bertieb suggèrent qu'il peut également être soumis comme réponse, alors c'est parti. Peut-être que l'un de ces modérateurs peut le déplacer vers la zone de commentaire de la question (et en même temps éditer ce par.)? THX!
la source