Comment inscrire et implémenter un gestionnaire de feuille de propriétés pour une application Panneau de configuration
De nombreuses applications Panneau de configuration affichent une feuille de propriétés pour permettre aux utilisateurs d’afficher et de modifier différents paramètres système et d’appareil. Deux de ces applications, souris et affichage, permettent aux gestionnaires de feuilles de propriétés de remplacer une ou plusieurs de leurs pages par une page personnalisée. La capture d’écran suivante montre la feuille de propriétés Propriétés de la souris .
Les gestionnaires de feuilles de propriétés pour les applications Panneau de configuration sont similaires à ceux des types de fichiers, à deux principales exceptions près :
- Ils sont appelés par une application Panneau de configuration, et non par l’interpréteur de commandes.
- Ils sont enregistrés différemment.
Bon à savoir
Technologies
- Shell
Prérequis
- Compréhension des Panneau de configuration
- Compréhension des menus contextuels
Instructions
Étape 1 : Inscription d’un gestionnaire de feuilles de propriétés pour une application Panneau de configuration
Un gestionnaire de feuilles de propriétés d’application Panneau de configuration doit être inscrit sous la sous-clé Panneau de configuration. Cette clé peut se trouver dans l’un des deux emplacements, selon que le gestionnaire doit être par utilisateur ou par ordinateur. Pour l’inscription par utilisateur, la sous-clé Panneau de configuration est HKEY_CURRENT_USER\Panneau de configuration. La macro REGSTR_PATH_CONTROLPANEL telle que définie dans Regstr.h peut être utilisée dans le code à la place de « Panneau de configuration ». Pour l’inscription par ordinateur, l’emplacement est :
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
Current Version
Controls Folder
Ce chemin d’accès peut être appelé HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER dans le code, à l’aide de la macro REGSTR_PATH_CONTROLSFOLDER définie dans Regstr.h.
Le Panneau de configuration les applications qui autorisent les gestionnaires de feuilles de propriétés à remplacer des pages ont une sous-clé sous la sous-clé du Panneau de configuration, nommée pour l’application, telle que Souris et Affichage. La sous-clé de l’application doit avoir une sous-clé shellex avec une sous-clé PropertySheetHandlers . Pour inscrire un gestionnaire de feuilles de propriétés, ajoutez son GUID à la sous-clé PropertySheetHandlers associée à l’application Panneau de configuration. Pour ce faire, créez une sous-clé de la sous-clé PropertySheetHandlers , nommée pour le gestionnaire de feuille de propriétés, et définissez sa valeur par défaut sur la forme de chaîne du GUID du gestionnaire.
L’exemple suivant inscrit un gestionnaire de feuilles de propriétés pour l’application Mouse Panneau de configuration par ordinateur. Pour l’inscrire par utilisateur, remplacez HKEY_LOCAL_MACHINE REGSTR_PATH_CONTROLSFOLDER\ par HKEY_CURRENT_USER\REGSTR_PATH_CONTROLPANEL.
HKEY_LOCAL_MACHINE
REGSTR_PATH_CONTROLSFOLDER
Mouse
shellex
PropertySheetHandlers
MyPropHandler
(Default) = {MyPropHandler CLSID GUID}
Étape 2 : Implémentation d’un gestionnaire de feuilles de propriétés pour une application Panneau de configuration
La procédure d’implémentation d’un gestionnaire de feuilles de propriétés Panneau de configuration est très similaire à celle décrite dans Comment inscrire et implémenter un gestionnaire de feuilles de propriétés pour un type de fichier. La principale différence est que maintenant IShellPropSheetExt::ReplacePage a besoin d’une implémentation non actuelle au lieu de IShellPropSheetExt::AddPages.
Lorsqu’une application Panneau de configuration est sur le point d’afficher sa feuille de propriétés, elle appelle une fois la méthode IShellPropSheetExt::ReplacePage du gestionnaire de feuilles de propriétés pour chaque page qui peut être remplacée. Le paramètre uPageID est défini sur l’ID de la page. Les ID des pages disponibles sont définis dans Cplext.h. Les ID actuellement disponibles sont répertoriés dans le tableau suivant.
ID de page | Description | application Panneau de configuration |
---|---|---|
CPLPAGE_MOUSE_BUTTONS | Page Boutons | Souris |
CPLPAGE_MOUSE_PTRMOTION | Page Mouvement | Souris |
CPLPAGE_MOUSE_WHEEL | Page Wheel | Souris |
CPLPAGE_KEYBOARD_SPEED | Page Vitesse | Clavier |
CPLPAGE_DISPLAY_BACKGROUND | Page Arrière-plan | Affichage |
Notes
La procédure de création et de remplacement d’une page est identique à celle de l’ajout d’une page. Pour plus d’informations, consultez Inscription et implémentation d’un gestionnaire de feuilles de propriétés pour un type de fichier.