Dernière mise
à jour : 07/04/2005
- Manipuler un objet du "Shell"
:
C'est le terme couramment employé pour
désigner un objet qui se réfère à
un dossier existant sur votre disque dur. En d'autres termes,
il désigne un dossier "système" et non
un dossier de fichiers. Citons quelques exemples, les dossiers
visibles quand on ouvre le Poste de travail, la Corbeille Windows,
le dossier Mes Documents, etc.
"Shell Object Editor" se télécharge à
partir de cette adresse : http://www.tropictech.de/modules/wfdownloads/singlefile.php?cid=1&lid=5
Afin de procéder à l'installation du programme,
double-cliquez sur ce fichier auto-extractible : shellobjecteditor_install300.exe
Il y a deux modes : normal et expert. Examinons le premier mode
:
1) Cliquez sur le bouton Create new...
2) Saisissez dans la première zone de texte le nom qui
sera donné à votre objet.
3) Saisissez dans la seconde zone de texte un texte décrivant
votre objet.
Il est possible d'activer la case à cocher située
en dessous si vous souhaitez pourvoir renommer cet objet à
tout moment.
Vous avez ensuite le choix entre définir un objet qui se
comportera comme un dossier ou comme un programme.
4) Laissez cocher le bouton radio par défaut puis cliquez
sur le bouton ... afin de sélectionner le répertoire
"cible".
5) Dans la rubrique ShellObject Icon, sélectionnez l'icône
de votre choix.
La rubrique Access permet de définir si cet objet sera
accessible à tous les utilisateurs de votre ordinateur
ou seulement à vous.
6) La rubrique Position permet de définir l'emplacement
de votre objet :
My Computer : le Poste de travail
Desktop : le Bureau Windows
Control Panel, Category : le Panneau de configuration puis une
des catégories du Panneau de configuration
Network Neighbourhood : le voisinage réseau
7) La rubrique Special Flags permet de définir les actions
qui seront permises pour cet objet :
Enable Property Sheet : ajoute une commande Propriétés
au menu contextuel de l'objet.
Allow delete : ajoute la commande Supprimer
les autres cases à cocher vous permettront de supprimer,
copier, créer un raccourci à partir de l'objet,
etc. Je dois avouer ne pas avoir compris l'intérêt
de certaines options !
8) Avec le bouton droit de la souris cliquez sur un des objets
listés.
9) La commande Hide vous permet de rendre invisible l'objet sélectionné.
Le mode Expert permet de visualiser les objets "Shell"
qui ont déjà été installés
soit pour l'utilisateur actuellement connecté soit pour
l'ensemble des utilisateurs de votre machine. La colonne Target
indique le nom du fichier exécutable visé ou la
clé CLSID correspondante dans le Registre. Globalement,
ce mode peut être intéressant si vous souhaitez cacher
un des objets qui sont listés ou si vous avez un module
sans icône ou obsolète présent dans le Panneau
de configuration. Nous pourrions faire la même remarque
concernant les dossiers présents sur le Bureau Windows
et qu'il n'est pas possible de supprimer.
Examinons maintenant le mécanisme :
- Créez un objet dans le Poste de
travail qui pointe vers un dossier :
1) Ouvrez HKEY_CLASSES_ROOT\CLSID.
2) Créez, par exemple, une clé CLSID nommée
{ef6f147c-75f7-44ea-baba-c23aefe15885}
3) Sélectionnez cette clé puis éditez la
valeur chaîne (par défaut).
4) Saisissez comme données de la valeur le nom que vous
souhaitez voir apparaître.
Dans notre exemple, saisissez : Test
5) Créez une valeur DWORD nommée {305ca226-d286-468e-b848-2b2e8e697b74}
2
6) Saisissez comme données de la valeur ceci : ffffffff
Notez que si votre objet doit apparaître dans le Panneau
de configuration, la valeur est à changer.
7) Créez une valeur chaîne nommée InfoTip
8) Saisissez comme données de la valeur le texte que vous
souhaitez apparaître.
9) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}
créez une clé nommée DefaultIcon
10) Sélectionnez cette clé puis éditez la
valeur chaîne (par défaut) et saisissez comme données
de la valeur l'emplacement du fichier icône.
Par exemple, saisissez ceci : C:\WINDOWS\System32\SHELL32.DLL,4
11) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}
créez une clé nommée InProcServer32
12) Sélectionnez cette clé puis éditez la
valeur chaîne (par défaut) et saisissez comme données
de la valeur ceci : shdocvw.dll
13) Créez une valeur chaîne nommée ThreadingModel
14) Éditez cette entrée puis saisissez comme données
ceci : Apartment
15) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}
créez une clé nommée Instance
16) Sélectionnez cette clé puis créez une
valeur chaîne nommée CLSID
17) Éditez cette entrée puis saisissez comme données
ceci : {0afaced1-e828-11d1-9187-b532f1e9575d}
18) Toujours dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}\Instance
créez une clé nommée InitPropertyBag
19) Sélectionnez cette clé puis créez une
valeur DWORD nommée Attributes
20) Éditez cette entrée puis saisissez comme données
le nombre 15.
21) Créez une valeur chaîne nommée Target
22) Éditez cette entrée puis saisissez comme données
de la valeur l'emplacement et le nom du dossier cible.
Par exemple, saisissez : C:\Test
23) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}
créez une clé nommée ShellFolder
24) Sélectionnez cette clé puis créez une
valeur DWORD nommée Attributes
25) Éditez cette entrée puis saisissez comme données
le nombre f8000000.
Nous verrons par la suite comment modifier ces données.
26) Ouvrez HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace.
27) Créez une clé CLSID portant que le même
nom que précédemment : {ef6f147c-75f7-44ea-baba-c23aefe15885}
28) Sélectionnez cette clé puis éditez la
valeur chaîne (par défaut) et saisissez comme données
de la valeur le nom que vous avez choisi pour l'objet créé.
Si vous souhaitez cacher l'objet il vous suffira de supprimer
ou de renommer cette clé CLSID en ajoutant, par exemple,
le signe - à son nom.
Toujours dans notre exemple, saisissez ceci : Test
- Imaginons maintenant les différentes variantes possibles
:
- Créez un objet dans le Bureau
:
La seule différence est que la clé CLSID sera appelé
à partir de \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
- Créez un objet dans le Panneau
de configuration :
La clé CLSID sera appelé à partir de \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace.
- Créez un objet dans le voisinage réseau
:
La clé CLSID sera appelé à partir de \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\NetworkNeighborhood\NameSpace
- Affecter l'objet à
un des modules du Panneau de configuration :
Il vous suffit de changer les données de
valeur de la valeur DWORD nommée {305ca226-d286-468e-b848-2b2e8e697b74}
2
Servez-vous du tableau suivant afin de définir l'appartenance
à la catégorie voulue :
Les catégories prédéfinies sont les suivantes
:
Données de la valeur - Catégorie
0 :Autres options par défaut
1 : Apparences et thèmes
2 : Imprimantes et autres périphériques
3 : Connexions réseau et Internet
4 : Sons, voix et périphériques audio
5 : Performance et maintenance
6 : Options régionales, date, heure et langue
7 : Options d'accessibilité
ffffffff : Ne place pas le module dans une de ces catégories
Par exemple, les données de la valeur seront le chiffre
7.
- Créer un onglet Propriétés
:
1) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885},
créez une clé nommée ShellEx
2) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}\ShellEx,
créez une clé nommée PropertySheetHandlers
3) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}\PropertySheetHandlers,
créez une clé nommée {ef43ecfe-2ab9-4632-bf21-58909dd177f0}
Vous devez de plus paramétrer ajouter la commande propriétés
au menu contextuel en définissant correctement les données
de la valeur DWORD Attributes.
- Ajouter une commande au menu contextuel
de l'objet :
La dernière valeur DWORD nommée Attributes peut
contenir une de ces valeurs :
f8000000 : menu contextuel par défaut
f8000001 : Copier
f8000002 : Couper
f8000010 : Renommer
f8000020 : Supprimer
f8000040 : Propriétés
Il vous est possible d'additionner ces valeurs : f8000022 si vous
souhaitez disposer à la fois des commandes Couper et Supprimer.
- Définir un objet qui se comportera
comme un programme :
Le principe est presque identique jusqu'à cette bifurcation
:
11) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}créez
une clé nommée Shell
12) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}\Shell
créez une clé nommée Open
13) Dans HKEY_CLASSES_ROOT\CLSID\{ef6f147c-75f7-44ea-baba-c23aefe15885}\Shell\Open
créez une clé nommée Command
14) Sélectionnez cette clé puis éditez la
valeur chaîne (par défaut) et saisissez comme données
de la valeur l'emplacement et le nom de votre programme.
Par exemple, saisissez ceci : C:\Program Files\Microsoft Office\Office11\EXCEL.EXE
15) Dans HKEY_CLASSES_ROOT\CLSID\{834b7677-32ef-4d48-9dcf-5741888751f4}
créez une clé nommée ShellFolder
16) Sélectionnez cette clé puis créez une
valeur DWORD nommée Attributes.
17) Éditez cette entrée puis saisissez comme précédemment
les données de la valeur voulues.
18) Ouvrez HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace.
19) Créez une clé CLSID portant que le même
nom que celui que vous avez choisi précédemment
: {ef6f147c-75f7-44ea-baba-c23aefe15885}
20) Sélectionnez cette clé puis éditez la
valeur chaîne (par défaut) et saisissez comme données
de la valeur le nom que vous avez choisi pour l'objet créé. |