Combinaison de touche Action Affiche ou masque le menu Démarrer <Attn> Affiche les propriétés système M Réduit toutes les fenêtres <Maj> M Restaure toutes les fenêtres E Ouvre le poste de travail F Recherche de fichiers <Ctrl> F Recherche d'ordinateurs <F1> Affiche l'aide de Windows R Ouvre la boîte de dialogue Exécuter. <Tab> Parcours des boutons de la barre des tâches U Ouvre le gestionnaire d'utilitaires (Loupe, clavier visuel,..) Affiche le menu contextuel associé à l'élément sélectionné
Ces icônes sont définies dans des sous-clefs de la clef HKEY_CLASSES_ROOT\CLSID\,
chaque sous-clef ayant pour nom l'identifiant de composant ActiveX
correspondant. Cet identifiant est unique (et le même partout, aussi
bien sous Windows 95 que sous Windows NT).
Par exemple, le Poste de travail est défini par:
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
et l'icône associée est dans la sous-clef DefaultIcon de
cette clef (p.ex. "c:\\windows\\explorer.exe,0")
Les classes ID principales sont les suivantes :
Poste de travail {20D04FE0-3AEA-1069-A2D8-08002B30309D} Corbeille {645FF040-5081-101B-9F08-00AA002F954E} Voisinage réseau {208D2C60-3AEA-1069-A2D7-08002B30309D}
Remarques :
L'explorateur de Windows (explorer.exe) admet un certain nombre de paramètres et commutateurs (switches) optionnels, utilisables dans une ligne de commande (fichier batch, raccourci, commande exécuter du menu Démarrer)
Syntaxe
explorer.exe [/n][/e][,/root,<objet>][[,/select],<sous-objet>]
Commutateurs
Exemples
Ouverture d'une vue de type "Explorer" du partage C d'une machine distante de nom "Abidjan" : explorer /e,/root,\\Abidjan\c Ouverture du dossier P:\Program Files\Netscape\V6.2 et présélection de netscp6.exe : explorer /select,P:\Program Files\Netscape\V6.2\netscp6.exe Ouverture d'une vue de type "Explorer" du dossier d:\winnt\system32\drivers\etc avec affichage commençant au dossier d:\winnt\system32 explorer /e,/root,d:\winnt\system32 /select,d:\winnt\system32\drivers\etc
On peut
également présélectionner des dossiers système, tels que "Mes
documents", "Imprimantes", ...
La syntaxe est un peu spéciale, le nom du dossier étant représenté par
son identifiant numérique, précédé des caractères "::" (sans les
guillemets)
Dossier système Identifiant Favoris réseau ::{208D2C60-3AEA-1069-A2D7-08002B30309D} Poste de travail ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} Imprimantes ::{2227A280-3AEA-1069-A2DE-08002B30309D} Connexions réseau et accès à distance ::{7007ACC7-3202-11D1-AAD2-00805FC1270E} Tâches planifiées ::{D6277990-4C6A-11CF-8D87-00AA0060F5BF} Mes documents ::{450D8FBA-AD25-11D0-98A8-0800361B1103} Corbeille ::{645FF040-5081-101B-9F08-00AA002F954E} la présence des "::" devant le CLSID est INDISPENSABLE
Exemples :
Ouverture d'une vue de type "Explorer" du dossier "Mes documents" explorer /e,::{450D8FBA-AD25-11D0-98A8-0800361B1103}
Ouverture d'une vue de type "Poste de travail" du dossier "Connexions réseau" explorer ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}
Dans l'explorateur de Windows, ou sur le bureau, il est possible de créer un
nouveau document de type prédéterminé à l'aide d'un clic droit qui
affiche un menu contextuel :
Ce comportement est déterminé par la présence de la sous-clef ShellNew
dans la clef HKEY_CLASSES_ROOT\.xxx , xxx désignant
l'extension du type de fichier considéré.
Par exemple :
HKEY_CLASSES_ROOT\.doc\ShellNew Document Word (.doc) HKEY_CLASSES_ROOT\.txt\ShellNew Document texte (.txt) HKEY_CLASSES_ROOT\.rar\ShellNew Document archive (.rar)
Cette sous-clef ShellNew doit comporter une entrée ayant l'un des noms et
types suivants :
Nom Type Valeur Commentaire Command REG_SZ chemin d'application %1 Exécute l'application spécifiée. Ce peut être par exemple le nom d'un assistant.
Le chemin doit être suivi du paramètre formel %1Data REG_BINARY données binaires Crée un fichier contenant les données spécifiées.
Cette entrée est ignorée si une entrée NullFile ou FileName existe dans la clef.FileName REG_SZ chemin de fichier modèle Crée un fichier qui est une copie du fichier modèle spécifié.Cette entrée est ignorée si une entrée NullFile existe dans la clef. NullFile REG_SZ (vide) Crée un fichier vide. Si cette entrée existe, les entrées Data ou FileName sont ignorées.
Par exemple, on désire ajouter un item permettant de créer un nouveau
fichier de type VBScript (extension .vbs).
Il suffit d'ajouter la clef :
HKEY_CLASSES_ROOT\.vbs\ShellNew
puis l'entrée NullFile (par exemple)
Le menu contextuel se présente maintenant ainsi :
On constate la présence du nouvel item VBScript Script File
Si on clique sur cet item, un nouveau fichier .VBS est créé, vide de
contenu.
Si on remplace l'entrée NullFile par Filename, avec comme
valeur C:\windows\shell\template.vbs (par exemple), tout nouveau fichier
.VBS qui sera créé par cette méthode sera initialisé avec le contenu du fichier
modèle template.vbs .
l'entrée
Command est utilisée par exemple pour la création de raccourcis
(extension .lnk).
Elle contient la chaîne rundll32.exe appwiz.cpl,NewLinkHere %1
Inversement, pour faire disparaitre un type de fichier dans le menu "nouveau", il suffit de supprimer la clef shellnew dans l'extension correspondante.
Commentaires : c'est très coûteux en temps CPU dans le cas de "gros" bitmaps
A l'aide de REGEDIT.EXE, editer les clefs suivantes :
et supprimer, dans chaque cas, l'entrée "IsShortCut"
Le "Quick Launch" (= lancement rapide) est une zone de la barre de tâches située immédiatement à droite du bouton démarrer, installée conjointement avec IE4 (sous Windows 95 et Windows NT4) ou nativement (sous Windows 98 et Windows 2000). Elle contient un certain nombre de boutons permettant le lancement rapide d'applications. Elle correspond au dossier suivant :
Ces boutons sont généralement des raccourcis habituels (fichiers .lnk) mais
sont parfois d'autres objets, tels que des commandes de l'explorateur Windows (fichiers
.scf), dont le plus connu est le bouton "Bureau", très
pratique, puisqu'il permet d'iconifier ou de restaurer en seul click toutes les
fenêtres ouvertes.
Il peut arriver que ce bouton disparaisse (suite à une fausse manœuvre).
Voici le mode opératoire pour le recréer :
[Shell] |
De la même façon, on peut (re)créer un bouton d'affichage des chaînes ou favoris dans Internet Explorer en suivant la procédure suivante :
[Shell] |
L'accès à un sous-ensemble du panneau de configuration s'effectue généralement en cliquant sur "Menu Démarrer", puis "Paramètres", puis "Panneau de Configuration". Ensuite la fenêtre du panneau de configuration s'ouvre, et c'est seulement à cet instant que l'on peut accéder, par exemple, à la configuration Réseau, ou au réglage de l'Affichage,...Cela peut être fastidieux, surtout si beaucoup de fenêtres sont déja ouvertes.
On peut insérer un sous-menu contenant tous les items du panneau de configuration avec la méthode suivante :
Panneau de configuration.{21EC2020-3AEA-1069-A2DD-08002B30309D} |
La chaine "Panneau de..." est le nom du dossier système Panneau de configuration et la chaine "21EC..." est son n° de Classe ID, que l'on peut retrouver de manière analogue à celui du Poste de travail, de la Corbeille, ...
Remarques:
On désire disposer dans le menu contextuel de l'explorateur (click droit) une commande commune dans le cas de fichier sélectionné non enregistré (extension inconnue). Par exemple, lancer directement un éditeur hexadécimal, dont le fichier exécutable serait "d:\tools\hexedit.exe"
Il suffit de créer les 3 clefs suivantes (si elles n'existent pas déja) :
La commande "Edition hexa" apparait alors dans le menu contextuel de l'Explorer chaque fois que l'on sélectionne un fichier à extension inconnue (p.ex ".diz", ".is0", ....). Cet item est situé juste en dessous de la commande "Ouvrir avec"
Dans le cas d'un PC pouvant être utilisé par plusieurs personnes, il peut être souhaitable de restreindre les droits de modification des types de fichiers enregistrés (depuis l'explorateur, menu options). Cela s'obtient par la création (ou modification) d'une entrée supplémentaire EditFlags dans la clef HKEY_CLASSES_ROOT\xxxxxxx (xxxxxxx désignant le type de fichiers à protéger). Cette clef est un champ 16 bits qui peut valoir une ou plusieurs (par un "OU" logique binaire) des valeurs suivantes:
Valeur hexa |
Conséquence |
0001 | Masque le type dans la liste des extensions enregistrées |
0008 | Désactive le bouton "Modifier" dans l'onglet "Types de fichiers" |
0010 | Désactive le bouton "Supprimer" dans l'onglet "Types de fichiers" |
0020 | Désactive le bouton "Nouveau" dans la boite de dialogue "Modification du type de fichier" |
0040 | Désactive le bouton "Modifier" dans la boite de dialogue "Modification du type de fichier" |
0080 | Désactive le bouton "Supprimer" dans la boite de dialogue "Modification du type de fichier" |
0100 | Désactive la zone de texte "Description du type" dans la boite de dialogue "Modification du type de fichier" |
0200 | Désactive le bouton "Changer d'icône" dans la boite de dialogue "Modification du type de fichier" |
0400 | Désactive le bouton "Définir par défaut" dans la boite de dialogue "Modification du type de fichier" |
Exemple : On veut désactiver, pour les fichiers d'extensions .htm et .html (qui pointent vers htmfile) :
On crée alors dans la clef HKEY_CLASSES_ROOT\htmlfile une nouvelle entrée de nom EditFlags, de type DWORD et de valeur 0210
On est souvent amené à lancer des exécutables en mode console (ipconfig, netstat, nbtstat,...), mais si on le fait directement depuis l'explorateur de Windows et que ces exécutables n'attendent pas de saisie au clavier, la fenêtre s'ouvre, puis se referme aussitôt!
Il en est de même de certains scripts VBS.
Il faut donc commencer par ouvrir une fenêtre de commandes (cmd.exe),
puis taper la commande voulue, ce qui n'est pas très pratique.
Afin de remédier à cet inconvénient, j'ai conçu un petit script (lui-même
écrit
en VBScript) qui, étant associé aux fichiers .exe, va ouvrir
automatiquement une fenêtre de commande puis exécuter dedans l'exécutable
choisi depuis l'explorateur de Windows.
VBScript
est installé en standard sous Windows 98, ME, 2000, XP.
Il faut l'installer volontairement sous Windows 95 et NT4.
Pour plus de détails sur VBSCRIPT, se reporter aux chapitres
qui lui sont consacrés.
Pour que ce script soit utilisable depuis l'explorateur de Windows, il
faut modifier et ajouter certaines clefs dans la Base de Registres.
Cela
est obtenu automatiquement en l'exécutant sans paramètres.
Téléchargement console.vbs (2ko)
Après installation, un nouvel item apparaît dans le menu contextuel des
exécutables :
Si on sélectionne cet item, une boite de dialogue de saisie
(facultative) de paramètres apparaît :
puis l'application est lancée dans une fenêtre de commandes permanente.
Le problème suivant peut survenir sous toute version de Windows.
On souhaite installer une nouvelle police de caractères, mais l'item "Installer
une nouvelle police..." n'apparaît plus!
Causes Solutions Le dossier "fonts" n'a plus les attributs "System" et "Read Only"
(or cela est OBLIGATOIRE!)
- Ouvrir une fenêtre de commandes
- Se placer dans le répertoire %systemroot%
- Taper la commande :
attrib +s +r fontsLe fichier "%systemroot%\system32\fontext.dll" manque ou est endommagée. Il faut la récupérer depuis le CD de Windows.
- Ouvrir une fenêtre de commandes
- Taper la commande :
expand x:\i386\fontext.dl_ %systemroot%\system32\fontext.dll
(en supposant que "x:" désigne le lecteur de CD)le fichier "%systemroot%\fonts\desktop.ini" manque ou est endommagé.
ATTENTION !
ce fichier n'apparaît pas dans l'explorateur de Windows!
- Ouvrir une fenêtre de commandes
- Se placer dans le répertoire "%systemroot%\fonts"
- Taper la commande
attrib -r -h -s desktop.ini
puis (p.ex.) notepad desktop.ini
Il doit contenir ceci :
[.ShellClassInfo]
UICLSID={BD84B380-8CA2-1069-AB1D-08000948F534}Sous Windows 95,98 ou ME, remplacer %systemroot% par %windir% et system32 par system
Cette fonctionnalité est apparue avec Internet Explorer 4.0
Elle permet de personnaliser l'explorateur de Windows (toute version), en attribuant une icône spécifique à un dossier donné, en remplacement de l'icône habituelle des dossiers : |
Pour cela, il suffit de créer dans le dossier concerné un fichier nommé DESKTOP.INI, au format texte, possédant les attributs caché et système (HS), et contenant le paragraphe suivant (exemple) :
Contenu Commentaires [.ShellClassInfo] Nom du paragraphe (obligatoire) IconFile=F:\Program Files\Microsoft FrontPage\Office\FRONTPG.EXE Nom du fichier contenant l'icône :
Exécutable, DLL, Contrôle ActiveX, Driver, fichier icône,..IconIndex=17 N° de l'icône dans le fichier ConfirmFileOp=0 Commutateur mis à zéro évitant un message de confirmation si on supprime le fichier desktop.ini InfoTip=Frontpage XP Information facultative apparaissant dans la barre d'état de l'explorateur quand le dossier est sélectionné Dans cet exemple, l'icône choisie est la suivante :
L'explorateur Windows affiche alors ceci :
Bien que peu compliquée, l'opération de créer un fichier DESKTOP.INI, choisir une icône appropriée, trouver son index, penser à définir les attributs du fichier DESKTOP.INI....est assez fastidieuse.
Ce mécanisme a été amélioré dans Windows XP, chaque dossier possédant dans ses propriétés un onglet "Personnaliser": | |
Mais cette fonctionnalité n'a pas prévu la définition de l'information complémentaire (champ InfoTip), et elle oblige à chaque fois de parcourir, plus ou moins à l'aveuglette, les fichiers susceptibles de contenir des icônes.
(mise à jour le 23/10/02)
J'ai conçu une application intitulée ICONFOLDER qui réalise automatiquement les tâches suivantes :
Cette application fonctionne sous toute plate-forme Windows.
Il suffit que Internet Explorer version 4 au minimum ait été
installé.
Elle a été validée sous :
Elle se compose :
En ce qui concerne les fonctions "icônes" du contrôle ActiveX, je me suis inspiré d'un exemple tiré de l'excellent ouvrage
"Windows Scripting Secrets"
de Tobias Weltner
édité chez IDG BOOKS
(ISBN=0-7645-4684-8)
Il suffit d'exécuter l'un des deux fichiers :
(voir les différences entre les versions plus bas)
L'exécution de l'un ou l'autre de ces fichiers (après choix du dossier
d'installation) aboutir à 2 messages indiquant l'installation des deux scripts
iconfolder.vbs et RAZiconfolder.vbs
Désormais, le menu contextuel d'un dossier affiche deux items supplémentaires : |
Le contrôle ActiveX jcb.ocx a besoin de la bibliothèque VisualBasic msvbvm50.dll , normalement présente sur toutes les machines, ainsi que du contrôle ActiveX comctl32.ocx. Au cas où ces fichiers seraient absents, ils ont été prévus dans le programme d'installation (d'où sa taille) et seront installés si besoin est.
Il suffit d'afficher le menu contextuel (clic droit) sur un dossier et de sélectionner "Icône de dossier (ajout)"
Deux cas se présentent alors:
Une boite de dialogue s'affiche, indiquant la
liste des disques à analyser : Sélectionner le ou les disques concernés, et appuyer sur OK Seuls les disques fixes et locaux sont affichés. |
|
L'analyse a alors lieu, avec affichage
de la progression.
Certains dossiers sont volontairement ignorés : En cas de doublons, seul le fichier ayant le plus grand nombre d'icônes est mémorisé |
Une boite de dialogue s'affiche, demandant si
on veut :
|
Une liste des
fichiers contenant des icônes s'affiche : Cliquer sur l'un d'entre eux pour voir son contenu : (par exemple compstui.dll)
|
|
Sélectionner une icône et appuyer sur
OK. Si aucune ne convient, appuyer sur Annuler , ce qui provoque le réaffichage de la liste précédente. Certains fichiers peuvent provoquer l'affichage d'un message d'erreur, indiquant que le fichier ne contient pas d'icônes. C'est le cas par exemple de "sandra.exe" (SiSoftware). Cela est du à une structure interne utilisant des ressources avec un format non standard. Ce défaut n'est pas imputable à Iconfolder (Windows lui-même et les éditeurs de ressources détectent le même problème). |
|
Une boite de dialogue invitant à définir une
information complémentaire s'affiche. Le contenu par
défaut est de la forme Appuyer sur OK. |
|
Il y a alors confirmation d'affectation de l'icône. |
Il suffit d'afficher le menu contextuel (clic droit) sur un dossier et de
sélectionner "Icône de dossier (retrait)"
Deux cas se présentent alors:
Un message est affiché : |
La confirmation de suppression est demandée : | |
Si on a répondu oui : |
ICONFOLDER existe en 2 distributions :
Version Remarques Taille de
l'exécutableDate du
fichierTéléchargement Complète
Elle comprend les fichiers
- comctl32.ocx
- msvbvm50.dll1022 ko 10/04/08 iconfolder.exe Minimale
Vous devez avoir les fichiers
- comctl32.ocx
- msvbvm50.dll
(c'est généralement le cas)105 ko 10/04/08 iconfolder_min.exe
L'usage de ICONFOLDER est entièrement gratuit!
On constate dans cet exemple que seuls les fichiers
.gif sont affichés en miniatures. Les fichiers .jpg apparaissent seulement sous la forme d'icônes. |
Ce défaut est dû à la corruption ou disparition de clefs et/ou
valeur dans la Base de Registres :
La valeur par défaut de la clef :
HKEY_CLASSES_ROOT\.xxx\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}
(".xxx" étant l'extension concernée)
doit être égale à :
{7376D660-C583-11d0-A3A5-00C04FD706EC}
Pour
information, ces deux identifiants (GUID) correspondent à :
{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1} | interface IExtractImage |
{7376D660-C583-11d0-A3A5-00C04FD706EC} | contrôle ActiveX
TridentImageExtractor, contenu dans %SystemRoot%\System32\browseui.dll |
Il suffit donc de recréer ou corriger cette clef et sa valeur par défaut, et l'affichage des miniatures est aussitôt rétabli.
J'ai conçu un script VBS restorepreview.vbs qui effectue automatiquement :
Après son exécution, l'affichage des miniatures est redevenu pleinement opérationnel : |
La plupart des applications offrant la
possibilité d'ouvrir ou d'enregistre des fichiers font appel à des
boites de dialogues de type standard, intégrées dans Windows.
(les présentes captures ont été effectuées sous VISTA, mais l'aspect est analogue sous XP ou Windows 2000) Un bandeau vertical situé à gauche permet de sélectionner rapidement parmi 5 emplacements préétablis :
Il est possible de personnaliser cet affichage, en choisissant d'autres emplacements.
|
|||||||||||||||||||||
Pour réaliser cela, il faut tout d'abord
créer la sous-clé "Comdlg32" (si elle n'existe pas déjà) dans la
clef : HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ puis
dans cette sous-clef "Comdlg32" il faut créer la sous-clé "PlacesBar"
(si elle n'existe pas déjà). On obtient donc la clef complète : C'est alors que dans cette clef on va ajouter entre 1 à 5 entrées, de
type REG_DWORD ou REG_SZ
Chaque entrée contient, au choix, :
|
|||||||||||||||||||||
Voici la liste complète de ces valeurs
numériques et de leurs signification respectives :
|
|||||||||||||||||||||
|
Ce qui suit concerne les unités de disques de n'importe quel type :
Dans le cas d'une partition de disque dur, le nom (label)
est très facile à modifier, que ce soit par la commande LABEL ou
directement depuis l'explorateur de Windows.
Par contre rien n'est prévu pour les autres supports.
Par exemple Windows attribue un nom standard et identique à tous les
lecteurs/graveurs de CD/DVD ("Lecteur DVD RW").
Dans le cas où l'ordinateur est doté de plusieurs lecteurs/graveurs, on ne peut
les distinguer que par leurs lettres respectives, ce qui ne renseigne guère
davantage!
Ce problème se rencontre de même avec les lecteurs intégrés de cartes-mémoire multi-format (CF, SD, SM, ...) qui se retrouvent tous sous le nom de "Disque amovible"
|
Il est possible d'affecter un nom spécifique à chaque lecteur/graveur ou disque amovible/carte mémoire.
Si "X" désigne la lettre concernée (de "A" à "Z"), le nom qu'on veut lui
attribuer est la valeur par défaut de la clef
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\X\Defaul
Si cette clef n'existe pas, il suffit de la créer
Voici un script qui fait cela de façon plus ergonomique :
Ficher "volname.bat"
Il requiert 2 paramètres :
- la lettre du volume concerné
- le nom à attribuer
Téléchargement de volname.bat : @echo off
if %1.==. goto syntaxe
if %2.==. goto syntaxe
for %%L in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if /i %1==%%L goto suite
:syntaxe
echo Syntaxe :
echo VOLNAME ^<lettre_de_volume^> ^<nom_a_attribuer^>
echo lettre_de_volume : A,B,...,Z (minuscule ou majuscule)
echo nom_a_attribuer : a encadrer par des guillemets si nécessaire
echo.
echo Exemple :
echo VOLNAME U "Carte CompactFlash"
echo.
goto fin
:suite
REG ADD
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%1\DefaultLabel /ve /f /d %2
:fin
Ainsi, après exécution des commandes :
l'explorateur a désormais l'aspect suivant :
|
De même, on peut modifier l'icône avec une méthode analogue.
Si "X" désigne la lettre concernée (de "A" à "Z"), l'icône qu'on
veut lui attribuer est la valeur par défaut de la clef
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\X\DefaultIcon
Si cette clef n'existe pas, il suffit de la créer.
La valeur par défaut contient le chemin complet de l'icône.
Par exemple "M:\Icones\CarteMemoire.ico"
Voici un script qui fait cela de façon plus ergonomique :
Ficher "volicon.bat"
Il requiert 2 paramètres :
- la lettre du volume concerné
- le nom à attribuer
Téléchargement de volicon.bat : @echo off
if %1.==. goto syntaxe
if %2.==. goto syntaxe
for %%L in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if /i %1==%%L goto suite
:syntaxe
echo Syntaxe :
echo VOLICON ^<lettre_de_volume^> ^<nom_fichier_icone^>
echo lettre_de_volume : A,B,...,Z (minuscule ou majuscule)
echo nom_fichier_icone : a encadrer par des guillemets si nécessaire
echo.
echo Exemple :
echo VOLICON U "M:\Icones\CarteMemoire.ico"
echo.
goto fin
:suite
REG ADD
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%1\DefaultIcon /ve /f /d %2
:fin
Ainsi, après exécution des commandes :
l'explorateur a désormais l'aspect suivant :
|
Autre affichage : |