Modification des icones Windows en dehors des fichiers *.theme
Bienvenue dans cette nouvelle partie consacrée à la modification des icônes en dehors du fichier .thème.
Pour commencer, je n’aime pas les icônes par défaut du poste de travail (ce pc) ni celles du bureau.
Nous allons donc y remédier. Dans le dossier
starWars dans lequel se trouve notre thème, j’ai rajouté un dossier icons dans lequel je regroupe
toutes les icônes du thème. J’ai l’habitude d’en faire un dossier système pour qu’il soit invisible la plupart
du
temps. Pour cela, rendons-nous dans le dossier concerné. Dans l’onglet fichier, en haut à gauche, cliquez sur
"ouvrir Windows powershell". Entrez la ligne suivante :
PS C:\Users\connector\AppData\Local\Microsoft\Windows\Themes\StarWars> attrib icons +s +h
+s = définit le fichier en tant que fichier system (-s pour le remettre en lambda)
+h = ce fichier est caché
NB : vous pouvez faire cette opération de n’importe quel dossier. Par exemple depuis le fichier Thèmes il suffit de se rendre dans le dossier starwars via la commande cd (pour change directory :
PS C:\Users\connector\AppData\Local\Microsoft\Windows\Themes> cd starwars
Maintenant admettons que notre dossier se nomme star wars en deux mots et que l’on souhaite effectuer la même
opération.
Voila ce que Windows nous renvoi :
PS C:\Users\connector\AppData\Local\Microsoft\Windows\Themes> cd star wars
Set-Location : Impossible de trouver un paramètre positionnel acceptant l'argument « wars
».
Au caractère Ligne:1 : 1
+ cd star wars
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument : (:) [Set-Location], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationComm
and
PS C:\Users\connector\AppData\Local\Microsoft\Windows\Themes>
En d’autres termes il ne le trouve pas. C’est pourquoi je vous disais en première partie de nommer le dossier en camelCase. Cela dit, il est possible de passer par la console en ligne de commande (cmd) mais ça va plus vite par PowerShell qui est disponible directement par l’explorateur de fichiers. Cette parenthèse étant fermée nous allons modifier notre icône de panneau de configuration. Pour cela nous nous rendons dans le registre à l’endroit où nous l’avions laissé, à savoir :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID
La clé CLSID pour le panneau de configuration est : {26EE0668-A00A-44D7-9371-BEB064C98683}
Avant de commencer, la première chose à faire est de créer une sauvegarde du
registre complet puis de la branche. Et
permettez-moi de vous mettre en garde :
ne touchez pas au registre si vous n’êtes pas à l’aise avec. Je ne saurais
être tenu pour responsable si vous faites tout sauter !
Cela étant dit continuons : placez-vous sur la clé CLSID, cliquez droit et choisissez nouvelle clé. Nommez-la
{26EE0668-A00A-44D7-9371-BEB064C98683}
et recréez une clé à l’intérieur en la nommant cette fois-ci
DefaultValue et
donnez-lui comme valeur le chemin d’accès à votre icône.
Pour voir le résultat, rendez-vous sur le bureau et l’icône devrait avoir changé. Si ce n’est pas le cas, déconnectez-vous de votre compte et reconnectez-vous. Nous pouvons faire cette manipulation pour toutes les icônes contenues dans « ce pc » et d’autres encore. À savoir :
Bureau : {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
Documents : {d3162b92-9365-467a-956b-92703aca08af}
Images : {24ad3ad4-a569-4530-98e1-ab02f9417aa8}
Music : {3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}
Objet 3D : {0DB7E03F-FC29-4DC6-9020-FF41B59E513A}
Téléchargements : {088e3905-0323-4b02-9826-5d99428e115f}
Vidéo : {A0953C92-50DC-43bf-BE83-3742FED03C9C}
Bibliothèques : {031E4825-7B94-4dc3-B131-E946B44C8DD5}
Accès rapide : {679f85cb-0220-4080-b29b-5540cc05aab6}
Vous trouverez sur internet des listes de clés CLSID. Cependant, vous verrez parfois plusieurs clés pour le même objet, il convient alors de faire des essais pour voir laquelle correspond à votre système. Par exemple, pour les documents j’ai trouvé deux clés, mais aucune ne fonctionnait. Je suis allé faire une recherche dans le registre à partir du fichier de l’icône correspondant. J’ai fini par trouver celle affichée plus haut. Et cela fonctionne !
Une dernière chose concernant cette branche CLSID : comme je vous l’avais dit à la fin de la première partie, les icônes du fichier thème sont injectées dans la même branche. Donc si vous la sauvegardez elle comprendra les icônes du poste de travail ainsi que celles du bureau. Vous pouvez aussi séparer tout cela en ne sauvegardant que ce qui concerne le poste de travail. Le plus simple c’est de créer soit même le fichier de registre. C’est ce que nous allons voir maintenant.
La création manuelle de la sauvegarde du registre
Comme pour la création du thème tout cela commence par un fichier texte .txt. Pour être interprétée par le registre, la première ligne de votre fichier doit être :
Windows Registry Editor Version 5.00
Ensuite, il faut mettre la branche concernée :
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID]
Puis enfin la clé concernée, son arborescence et
sa valeur. Par exemple, pour documents, la clé c’est {d3162b92-9365-467a-956b-92703aca08af}
,
son arborescence ici c’est la clé qui est à l’intérieur à savoir
DefaultIcon et sa valeur est représentée par « @ » suivi du chemin de l’icône entre guillemets et avec un
double antislash à chaque fois comme ci-dessous :
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{d3162b92-9365-467a-956b-92703aca08af}\DefaultIcon]
@="%LocalAppData%\\Microsoft\\Windows\\Themes\\StarWars\\icons\\system\\documents.ico"
Faites de même avec les autres clés. Après cela, renommez le fichier en remplaçant l’extension .txt par .reg pour que Windows puisse l’assimiler dans le registre. Double-cliquez dessus et acceptez ce que vous demandent les fenêtres de sécurité. Si jamais on vous dit que cette action est impossible, connectez-vous au registre en tant qu’administrateur. Maintenant si vous allez voir le poste de travail (ce pc) vous devez avoir customisé toutes les icônes du haut.
Petit aparté sur les chemins : depuis le début de cet article, tous les chemins que j’ai affichés commençaient par la variable d’environnement %LocalAppData%. Cela était bien car nous ne modifiions que des éléments de l’utilisateur courant. En revanche avec les icônes en dehors du fichier .theme cela ne sera pas toujours le cas. En fait dès que nous ne sommes plus dans la branche de registre débutant par HKEY_CURRENT_USER nous modifions les icônes pour tous les utilisateurs. Ce qui signifie que si vous mettez un chemin débutant par %LocalAppData% à partir de votre session pour modifier, par exemple, l’icône du lecteur C : et qu’un autre utilisateur se connecte à la sienne, il n’aura pas d’icône d’affichée. En effet, Windows interprétera le chemin comme celui de l’utilisateur en cours. Et comme l’icône se trouve dans votre session, elle ne s’affiche pas. Pour pallier ce problème, nous devrons indiquer le chemin absolu. Dans mon cas :
C:\Users\BenDemo\AppData\Local\Microsoft\Windows\Themes\StarWars\Icons\system\OsDrive.ico
Si vous allez dans certains dossiers comme les documents par exemple ou le bureau, il se peut que vous trouviez certains dossiers comme celui des images ou autre qui ne sont pas modifiés. Pas de problème, nous allons les modifier un par un. Ouvrez-en un et recherchez le fichier desktop.ini. Pour le voir, il faut afficher les éléments cachés du système et fichiers protégés. Pour cela, allez dans l’onglet affichage de l’explorateur de fichier > options > affichage. Décochez Masquer les fichiers protégés du système d’exploitation comme ci-dessous.
Ouvrez desktop.ini et créez ou modifiez si elle existe la ligne IconResource et remplacez-la par le
chemin de
votre icône.
Petit bonus : Les clés CLSID permettent aussi d’accéder à des parties cachées de Windows comme le god
mode ou
mode dieu... c’est un dossier qui permet d’avoir en un endroit tous les réglages de Windows. Sa clé CLSID est
{ED7BA470-8E54-465E-825C-99712043E01C}
Pour l’afficher allez dans mes documents, par exemple, et créez un nouveau dossier et nommez-le « godMode.{ED7BA470-8E54-465E-825C-99712043E01C}
». Normalement vous devriez avoir une icône de panneau de configuration seule sans titre ni possibilité de la
modifier. Si vous souhaitez la customiser et avoir un titre, il faut en fait créer un raccourci et dans
l’emplacement de l’élément indiquez :
explorer Shell:::{ED7BA470-8E54-465E-825C-99712043E01C}
et nommez-le comme vous le souhaitez. Après
avoir validé le nom, faites OK et vous aurez accès aux mêmes paramètres que dans le dossier. Sélectionnez le
fichier, faites un clic droit et dans l’onglet raccourci et choisissez « changer d’icône ». Maintenant, nous
allons
nous attaquer aux icônes des lecteurs.
Customisation des icônes de lecteurs
Pour cela, nous avons deux façons de faire. En effet, nous pouvons choisir entre modifier chaque lecteur ou alors modifier un groupe de lecteurs. Par exemple si nous avons dans notre poste de travail des lecteurs réseau connectés et d’autres non, Windows les identifie par des icônes différentes. Ainsi le lecteur déconnecté recevra une croix rouge. Admettons que notre lecteur réseau ait la lettre Z. Si nous modifier l’icône de la lettre Z Windows ne fera pas le distinguo entre connectés/déconnecter. C’est à vous de choisir ce que vous souhaitez faire. Quoiqu’il en soit je vous montre ici les deux façons de procéder.
Modification des lecteurs par la lettre
Dans le registre rendez-vous dans la branche
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\driveicons
Créez une nouvelle clé portant la lettre du lecteur à modifier, à l’intérieur créez une autre clé nommée DefaultIcon ayant comme valeur le chemin de l’icône.
Retournez dans le poste de travail et vous devriez voir votre nouvelle icône.
La seconde méthode consiste à utiliser les Shell icons.
Modification des lecteurs par les Shell Icons
Le principe est le suivant : on entre une clé et on modifie un type de lecteur. Ou d’autres éléments. Par ce biais, on peut par exemple modifier ou supprimer l’icône des raccourcis ou celle des fichiers compressés.
Pour cela, il faut connaître la liste des clés. On les trouve sur internet. En voici une, non exhaustive, à compléter au fur et à mesure :
0 Explorer
1 Explorer Default Document
2 Explorer Default Application
3 Explorer Closed Folder
4 Explorer Open Folder
5 Drive 5.25 inch floppy
6 Drive 3.5 inch floppy
7 Drive Removable Drive
8 Drive Hard Drive
9 Drive Network Drive
10 Drive Network Drive disconnected
11 Drive CD-ROM Drive
12 Drive RAM Drive
13 Global Entire network
15 Explorer Networked Computer
16 Explorer Printer(s)
17 Desktop Network Neighborhood
18 Explorer Workgroup
19 Startmenu Programs
20 Startmenu Recent documents
21 Startmenu Settings
22 Startmenu Find
23 Startmenu Help
24 Startmenu Run
25 Startmenu Suspend
26 Startmenu Docking
27 Startmenu Shutdown
28 Overlay Sharing
29 Overlay Shortcut
31 Desktop Recycle bin empty
32 Desktop Recycle bin full
33 Explorer Dial-up Networking
34 Explorer Desktop
35 Startmenu Settings/Control Panel
36 Startmenu Programs/Program folder
37 Startmenu Settings/Printers
39 Startmenu Settings/Taskbar
40 Explorer Audio CD
42 Explorer Saved search (.fnd)
43 Explorer und Startmenu Favorites
44 Startmenu Log Off
59 Drive DVD-ROM Drive
77 UAC (administrator) overlay icon
107 os drive folder icon
179 compressed file/folder overlay icon
Ces clés sont à renseigner dans la branche :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons
A l’intérieur on crée une nouvelle valeur chaine ayant pour nom le numéro de l’icône et la valeur correspondant à son chemin. Il se peut que vous ne trouviez pas la clé Shell Icons. Dans se cas positionnez-vous sur explorer et créer une nouvelle clé Shell Icons.
Insérez toutes les icônes que vous souhaitez modifier et faites une sauvegarde de la branche. Si vous souhaitez revenir aux icônes d’origine, il vous suffira de supprimer la clé Shell Icons.
Notez que, si jamais vous testez les deux méthodes, celle des driveIcons prévaut sur l’autre. C'est-à-dire que si vous déclarez une icône dans les drivesIcons et une autre dans les shell icons c’est la première qui sera affichée. Pensez-y si vous faites des tests et que votre icône ne change pas.
Sauvegarde, partage et sécurité
Maintenant que notre thème est complet, il est temps de le sauvegarder. Pour cela, plusieurs options s’offrent à nous : en effet, nous pouvons soit les zipper avec un outil de compression soit utiliser le format deskthemepack de Windows. Ce dernier permet le partage des thèmes d’un ordinateur à un autre et présente l’avantage d’installer le thème d’un simple clic.
Alors, quelle solution choisir ? Si, comme moi, vous avez customisé votre dossier de thèmes, il vaut mieux le zipper, avec 7zip par exemple. Car le deskthemepack de Windows ne sauvegarde que les images (le dossier DesktopBackground) et les fichiers de curseurs. Adieu donc notre customisation !
Le deskthemepack est un format d’échange utilisé sur Internet pour télécharger des thèmes. Cependant, il faut faire attention car il peut présenter des failles de sécurité. Certains hackers pourraient insérer du code pour vous renvoyer sur une page web au moment de l’installation du thème. Pour en savoir plus, je vous invite à consulter cet article.
Les fichiers deskthemepack ne sont en fait que des fichiers zippés que Windows reconnaît comme des thèmes et qu’il installe dans la foulée. Il est donc possible de les dézipper avec 7zip et de ne récupérer que le dossier DesktopBackground et les icônes, s’il y en a.