Compartilhar via


Como registrar e implementar um manipulador de folha de propriedades para um aplicativo Painel de Controle

Muitos aplicativos Painel de Controle exibem uma folha de propriedades Propriedades para permitir que os usuários exibam e modifiquem várias configurações de dispositivo e sistema. Dois desses aplicativos, Mouse e Display, permitem que manipuladores de folha de propriedades substituam uma ou mais de suas páginas por uma página personalizada. A captura de tela a seguir mostra a folha de propriedades Propriedades do Mouse .

folha de propriedades do mouse

Manipuladores de folha de propriedades para aplicativos Painel de Controle são semelhantes aos dos tipos de arquivo, com duas exceções principais:

  • Eles são chamados por um aplicativo Painel de Controle, não pelo Shell.
  • Eles são registrados de forma diferente.

O que você precisa saber

Tecnologias

  • Shell

Pré-requisitos

  • Uma compreensão do Painel de Controle
  • Uma compreensão dos menus de atalho

Instruções

Etapa 1: registrar um manipulador de folha de propriedades para um aplicativo Painel de Controle

Um manipulador de folha de propriedades do aplicativo Painel de Controle deve ser registrado na subchave Painel de Controle. Essa chave pode estar em qualquer um dos dois locais, dependendo se o manipulador deve ser por usuário ou por computador. Para registro por usuário, a subchave Painel de Controle é HKEY_CURRENT_USER\Painel de Controle. A macro REGSTR_PATH_CONTROLPANEL conforme definido em Regstr.h pode ser usada no código no lugar de "Painel de Controle". Para registro por computador, o local é:

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            Current Version
               Controls Folder

Esse caminho pode ser referido no código como HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER, usando a macro REGSTR_PATH_CONTROLSFOLDER definida em Regstr.h.

Os aplicativos Painel de Controle que permitem que manipuladores de folha de propriedades substituam páginas têm uma subchave sob a subchave do Painel de Controle, nomeada para o aplicativo, como Mouse e Display. A subchave do aplicativo deve ter uma subchave shellex com uma subchave PropertySheetHandlers . Para registrar um manipulador de folha de propriedades, adicione seu GUID à subchave PropertySheetHandlers associada ao aplicativo Painel de Controle. Para fazer isso, crie uma subchave da subchave PropertySheetHandlers , nomeada para o manipulador de folha de propriedades, e defina seu valor padrão como a forma de cadeia de caracteres do GUID do manipulador.

O exemplo a seguir registra um manipulador de folha de propriedades para o aplicativo mouse Painel de Controle por computador. Para registrá-lo por usuário, substituaHKEY_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}

Etapa 2: implementando um manipulador de folha de propriedades para um aplicativo Painel de Controle

O procedimento para implementar um manipulador de folha de propriedades Painel de Controle é muito semelhante ao discutido em Como registrar e implementar um manipulador de folha de propriedades para um tipo de arquivo. A principal diferença é que agora IShellPropSheetExt::ReplacePage precisa de uma implementação nontoken em vez de IShellPropSheetExt::AddPages.

Quando um aplicativo Painel de Controle está prestes a exibir sua folha de propriedades, ele chama o método IShellPropSheetExt::ReplacePage do manipulador de folha de propriedades uma vez para cada página que pode ser substituída. O parâmetro uPageID é definido como a ID da página. As IDs das páginas disponíveis são definidas em Cplext.h. As IDs disponíveis no momento estão listadas na tabela a seguir.

ID da página Descrição aplicativo Painel de Controle
CPLPAGE_MOUSE_BUTTONS A página Botões Mouse
CPLPAGE_MOUSE_PTRMOTION A página Movimento Mouse
CPLPAGE_MOUSE_WHEEL A página Roda Mouse
CPLPAGE_KEYBOARD_SPEED A página Velocidade Keyboard
CPLPAGE_DISPLAY_BACKGROUND A página Tela de Fundo Exibir

 

Comentários

O procedimento para criar e substituir uma página é idêntico ao para adicionar uma página. Para obter mais informações, consulte Como registrar e implementar um manipulador de folha de propriedades para um tipo de arquivo.