Compartir a través de


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 .

hoja de 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.