Dans le menu contextuel des fichiers se trouvent souvent quelques options pratiques ajoutées par vos logiciels. Que diriez-vous d’en ajouter par vous-même ? Ces options vous permettront de gagner un temps non négligeable : au lieu d’ouvrir un programme et d’y effectuer l’action voulue, un petit clic droit sur le fichier et hop, c’est réglé !
L'éditeur du Registre
L'application Éditeur du Registre, accessible via le raccourci clavier Win+R en spécifiant regedit, nécessite les droits Administrateur. Celle-ci permet d'éditer l'ensemble de la Base de registre de Windows, qui contient la plupart des réglages du système. Le volet de gauche de l'éditeur permet de naviguer dans les Clés de registre, représentées par une arborescence de dossiers, et le panneau de droite permet d'éditer les Valeurs, qui sont en réalité des couples clé/valeur puisqu'une Valeur possède un Nom et des Données :
C'est un outil puissant et intégré à Windows, mais prenez garde à ce que vous modifiez car il donne accès à l'ensemble des réglages du système. Ne modifiez aucune clé de registre sans savoir exactement à quoi elle sert.
Extensions et types de fichiers
Les extensions de fichiers sont définies dans la clé HKEY_CLASSES_ROOT, dépliez-la et localisez la clé portant l'extension de fichier désirée, par exemple .txt. Celle-ci contient une référence au type de fichier, ici txtfile :
Ce mécanisme permet d'attribuer le même type de fichier pour plusieurs extensions différents, par exemple jpegfile pour les extensions .jpg et .jpeg. Rendez-vous donc à la clé correspondante toujours dans HKEY_CLASSES_ROOT, ici txtfile :
La clé txtfile ainsi que ses sous-clé permettent de configurer les actions possibles au clic droit pour les fichiers texte :
- Paramètres généraux : contient notamment une brève description du type de fichier
- Fichier d'icône à utiliser pour ce type de fichiers. Cela peut être le chemin vers un fichier .ico ou une icône incluse dans un exécutable ou fichier dll.
- Action par défaut : il s'agit du nom d'une de ses sous-clé, par exemple open ou print. Si aucune valeur n'est définie, Windows en prend une par ordre alphabétique.
- Une sous-clé par action : Chaque sous-clé porte le nom interne, par exemple print, à utiliser comme action par défaut, et contient comme valeur le nom d'affichage, par exemple Imprimer.
- La commande à exécuter pour chaque action : il s'agit généralement du chemin complet vers le programme à utiliser, suivi d'une variable %1 désignant le nom du fichier ouvert :
"C:\Chemin\Vers\MonProgramme.exe" "%1"
Il s'agit d'une commande telle que vous la saisiriez dans l'Invite de commandes de Windows. Vous pouvez donc effectuer des actions plus évoluées en fournissant des paramètres précis à un outil utilisable en ligne de commande.
Enfin, il est intéressant de noter que certaines clés contiennent des actions spéciales, par exemple la clé Directory contient les actions possibles au clic droit sur les dossiers et sur le Bureau, et la clé * contient les actions possibles pour tous les éléments.
Paramètres personnalisés pour chaque utilisateur
Chaque utilisateur peut posséder des réglages personnalisés pour ses extensions de fichiers. Cela est possible au moyen de la clé de registre suivante :
HKEY_CURRENT_USER\Software\Classes
Théoriquement, cette partie du registre est accessible sans droits Administrateur, néanmoins il faudrait pour cela utiliser un éditeur de registre ou une application tierce pour y accéder avec ce niveau de permission, car l'éditeur de registre de Windows exige les droits Administrateur au démarrage.
La clé Software\Classes contient une arborescence similaire à HKEY_CLASSES_ROOT : on peut y spécifier des extensions de fichiers comme .txt ainsi que des types de fichiers comme txtfile. Si une clé existe à cet endroit, elle aura la priorité sur celle présente dans HKEY_CLASSES_ROOT. Par exemple, il peut y avoir une clé .txt dans Software\Classes qui indique que le type de fichier à utiliser pour cette extension n'est pas txtfile mais mycustomtype. Il faudra donc se rendre dans la clé Software\Classes\mycustomtype, ou si elle n'existe pas dans HKEY_CLASSES_ROOT\mycustomtype pour éditer les actions associées à ce type de fichier.
Exemple : Convertir en MP3
Pour conclure, voici un cas concret : L'utilisateur souhaite ajouter une option pour convertir ses enregistrements .wav, ses fichiers .aac ou ses vidéos .mp4 en MP3 pour utiliser sur un baladeur d'ancienne génération. Pour cela, l'outil FFMpeg peut être utilisé en ligne de commande. Il suffit de consulter la documentation Encode/MP3 pour obtenir une commande adéquate :
ffmpeg -i input.wav -codec:a libmp3lame -b:a 320k output.mp3
Pour adapter cette commande à la situation et la rendre générique et fonctionnelle sous Windows, il faut remplacer le nom de la commande par le chemin complet vers l'exécutable, et utiliser la variable %1 comme chemin vers le fichier fourni en entrée :
"C:\Program Files\FFMpeg\ffmpeg.exe" -i "%1" -codec:a libmp3lame -b:a 320k "%1.mp3"
Les guillemets sont indispensables pour rendre la commande fonctionnelle lorsque le chemin d'accès contient des espaces. Dans l'exemple ci-dessus, le nom du fichier de sortie correspond au nom du fichier d'entrée suivi de l'extension .mp3. Plus qu'à localiser le type de fichier correspondant à l'extension wav, créer une sous-clé dans la clé shell, et l'appeler convertmp3 :
Ensuite, attribuer un nom explicite comme Convertir en MP3 à la commande, en modifiant sa valeur (par défaut) :
Enfin, créer une sous-clé command dans la clé convertmp3 et lui attribuer comme valeur par défaut la commande précédemment élaborée :
Dans le cas ou le type de fichiers ne possède pas déjà une action par défaut, il est également conseillé de la configurer :
L'utilisateur a maintenant accès à une option pour convertir ses fichiers .wav en fichiers MP3 :
Il est possible de répéter l'opération pour ajouter l'action sur les autres types de fichiers désirés : AAC, MP4, etc.
Maintenant que vous savez éditer manuellement les types de fichiers et étant donné que cette tâche reste plutôt laborieuse avec l'éditeur du registre, je vous conseille d'enchainer avec la lecture des articles sur FileTypesMan et FileActionsManager qui simplifient grandement ces opérations. 😉