Cómo registrar e implementar un controlador de hoja de propiedades para una aplicación de Panel de control
Muchas aplicaciones Panel de control muestran una hoja de propiedades Propiedades para permitir a los usuarios ver y modificar diversas configuraciones de dispositivo y sistema. Dos de estas aplicaciones( Mouse y Display) permiten que los controladores de hojas de propiedades reemplacen una o varias de sus páginas por una página personalizada. En la captura de pantalla siguiente se muestra la hoja de propiedades Propiedades del mouse .
Los controladores de hojas de propiedades para Panel de control aplicaciones son similares a los de los tipos de archivo, con dos excepciones principales:
- Una aplicación de Panel de control llama a ellos, no a Shell.
- Se registran de forma diferente.
Lo que necesita saber
Tecnologías
- Shell
Requisitos previos
- Un conocimiento del Panel de control
- Descripción de los menús contextuales
Instrucciones
Paso 1: Registrar un controlador de hoja de propiedades para una aplicación de Panel de control
Un controlador de hoja de propiedades de aplicación Panel de control debe registrarse en la subclave Panel de control. Esta clave puede estar en cualquiera de las dos ubicaciones, dependiendo de si el controlador debe ser por usuario o por equipo. Para el registro por usuario, la subclave Panel de control está HKEY_CURRENT_USER\Panel de control. La macro REGSTR_PATH_CONTROLPANEL tal como se define en Regstr.h se puede usar en el código en lugar de "Panel de control". Para el registro por equipo, la ubicación es:
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
Current Version
Controls Folder
Esta ruta de acceso se puede hacer referencia en el código como HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER, mediante la macro REGSTR_PATH_CONTROLSFOLDER que se define en Regstr.h.
Las aplicaciones Panel de control que permiten a los controladores de hojas de propiedades reemplazar páginas tienen una subclave en la subclave del Panel de control, denominada para la aplicación, como Mouse y Display. La subclave de la aplicación debe tener una subclave shellex con una subclave PropertySheetHandlers . Para registrar un controlador de hoja de propiedades, agregue su GUID a la subclave PropertySheetHandlers asociada a la aplicación de Panel de control. Para ello, cree una subclave de la subclave PropertySheetHandlers , denominada para el controlador de hoja de propiedades, y establezca su valor predeterminado en la forma de cadena del GUID del controlador.
En el ejemplo siguiente se registra un controlador de hoja de propiedades para la aplicación Mouse Panel de control por equipo. Para registrarlo por usuario, reemplaceHKEY_LOCAL_MACHINE REGSTR_PATH_CONTROLSFOLDER\ por REGSTR_PATH_CONTROLPANEL HKEY_CURRENT_USER\.
HKEY_LOCAL_MACHINE
REGSTR_PATH_CONTROLSFOLDER
Mouse
shellex
PropertySheetHandlers
MyPropHandler
(Default) = {MyPropHandler CLSID GUID}
Paso 2: Implementar un controlador de hoja de propiedades para una aplicación de Panel de control
El procedimiento para implementar un controlador de hoja de propiedades de Panel de control es muy similar al descrito en Cómo registrar e implementar un controlador de hoja de propiedades para un tipo de archivo. La principal diferencia es que ahora IShellPropSheetExt::ReplacePage necesita una implementación que no sea de seguridad en lugar de IShellPropSheetExt::AddPages.
Cuando una aplicación de Panel de control está a punto de mostrar su hoja de propiedades, llama al método IShellPropSheetExt::ReplacePage del controlador de la hoja de propiedades una vez para cada página que se puede reemplazar. El parámetro uPageID se establece en el identificador de la página. Los identificadores de las páginas disponibles se definen en Cplext.h. Los identificadores disponibles actualmente se enumeran en la tabla siguiente.
Identificador de página | Descripción | aplicación de Panel de control |
---|---|---|
CPLPAGE_MOUSE_BUTTONS | Página Botones | Mouse |
CPLPAGE_MOUSE_PTRMOTION | Página Movimiento | Mouse |
CPLPAGE_MOUSE_WHEEL | Página Rueda | Mouse |
CPLPAGE_KEYBOARD_SPEED | Página Velocidad | Teclado |
CPLPAGE_DISPLAY_BACKGROUND | Página Fondo | Mostrar |
Comentarios
El procedimiento para crear y reemplazar una página es idéntico al de agregar una página. Para obtener más información, vea Cómo registrar e implementar un controlador de hoja de propiedades para un tipo de archivo.