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