Usando o CPLApplet
Antes do Windows Vista, você criava um item do Painel de Controle criando um arquivo .dll e nomeando-o com uma extensão .cpl. Esse arquivo exportou a função CPlApplet. Esse esquema ainda tem suporte no Windows Vista e versões posteriores e é discutido neste tópico. No entanto, as diretrizes para novos itens do Painel de Controle recomendam uma abordagem mais simples com o item do Painel de Controle criado como um arquivo .exe que usa um layout de fluxo de tarefas.
Quando o Painel de Controle carrega um arquivo .dll (ou .cpl), ele chama a função CPlApplet para obter informações como o número de itens do Painel de Controle que o arquivo hospeda, bem como informações sobre cada item. O Painel de Controle também chama a função quando a janela do item é inicializada, aberta ou fechada.
Quando o Windows carrega o item Painel de Controle pela primeira vez, ele recupera o endereço da função CPlApplet e, posteriormente, usa esse endereço para chamar a função e passar mensagens para ela. Ele pode enviar as seguintes mensagens.
Mensagem | Descrição |
---|---|
CPL_DBLCLK | Enviado para notificar o CPlApplet de que o usuário escolheu o ícone associado a um determinado item do Painel de Controle. O CPlApplet deve exibir a caixa de diálogo do item especificado e executar todas as tarefas especificadas pelo usuário. O parâmetro CPlApplet lParam1 é um inteiro que representa o índice baseado em zero do item do Painel de Controle. O parâmetro lParam2 é o ponteiro lpData retornado na estrutura CPLINFO ou NEWCPLINFO na mensagem CPL_INQUIRE ou CPL_NEWINQUIRE. O valor retornado é ignorado. |
CPL_EXIT | Enviado após a última mensagem de CPL_STOP e imediatamente antes do Windows usar a função FreeLibrary para liberar a DLL que contém o item do Painel de Controle. CPlApplet deve liberar qualquer memória restante e se preparar para fechar. O valor retornado é ignorado. |
CPL_GETCOUNT | Enviado após a mensagem CPL_INIT para solicitar que o CPlApplet retorne um número que indique quantos subprogramas ele suporta. |
CPL_INIT | Enviado imediatamente após o carregamento da DLL que contém o item do Painel de Controle. A mensagem solicita que o CPlApplet execute procedimentos de inicialização, incluindo alocação de memória. |
CPL_INQUIRE | Enviado após a mensagem CPL_GETCOUNT para solicitar que o CPlApplet forneça informações sobre um subprograma especificado. O valor lParam1 é um número inteiro que representa o índice baseado em zero do subprograma sobre o qual as informações estão sendo solicitadas. O parâmetro lParam2 de CPlApplet aponta para uma estrutura CPLINFO. O valor retornado é ignorado. |
CPL_NEWINQUIRE | Enviado após a mensagem CPL_GETCOUNT para solicitar que o CPlApplet forneça informações sobre um item especificado do Painel de Controle. O valor lParam1 é um número inteiro que representa o índice baseado em zero do subprograma sobre o qual as informações estão sendo solicitadas. O parâmetro lParam2 é um ponteiro para uma estrutura NEWCPLINFO. CPL_NEWINQUIRE normalmente deve ser ignorado. Seu aplicativo deve processar apenas CPL_INQUIRE em sistemas Windows 95, Microsoft Windows NT 4.0 e posteriores, pois o desempenho do Painel de Controle é prejudicado quando CPL_NEWINQUIRE é usado. Isso ocorre porque as cadeias de caracteres e os ícones retornados não podem ser armazenados em cache. O valor retornado é ignorado. |
CPL_SELECT | Obsoleto. As versões atuais do Windows não enviam essa mensagem. |
CPL_STARTWPARMS | Enviado para notificar o CPlApplet de que o usuário escolheu o ícone associado a uma determinada caixa de diálogo. O CPlApplet deve exibir a caixa de diálogo correspondente e executar todas as tarefas especificadas pelo usuário. Esta mensagem é semelhante à CPL_DBLCLK, mas pode haver algumas informações adicionais. O parâmetro lParam1 é o número do item do Painel de Controle e lParam2 é um LPCTSTR para quaisquer direções extras que possam ser necessárias. Retorne TRUE se esta mensagem for tratada; caso contrário, FALSE. Esta mensagem é válida para a versão 5.00 e posterior do Shell32.dll. |
CPL_STOP | Enviado uma vez para cada item do Painel de Controle no arquivo .cpl antes que o Windows descarregue a extensão do Painel de Controle. O CPlApplet deve liberar qualquer memória associada ao número do item fornecido em lParam1. O parâmetro lParam2 é o ponteiro lpData retornado na estrutura CPLINFO ou NEWCPLINFO na mensagem CPL_INQUIRE ou CPL_NEWINQUIRE. O valor retornado é ignorado. |
Tópicos relacionados
-
Criando links de tarefas pesquisáveis para um item do Painel de Controle
-
Acessando o Painel de Controle no Modo de Segurança no Windows Vista