Processamento de Mensagens do Painel de Controlo
A função de chamada CPlApplet processa todas as mensagens enviadas para um componente do Painel de Controlo pelo Windows. As mensagens enviadas para a função estão em uma ordem específica. Da mesma forma, o item .cpl exige que as mensagens sejam processadas de uma maneira específica.
Primeiro, a funçãoCPlAppletrecebe a mensagem CPL_INIT quando o Windows carrega pela primeira vez o item do Painel de Controle. A função deve executar qualquer inicialização, como alocar memória, e retornar diferente de zero. Se CPlApplet não puder concluir a inicialização, ele deverá retornar zero, direcionando o Windows para encerrar a comunicação e liberar a DLL.
Em seguida, se a mensagem CPL_INIT tiver êxito, o Windows enviará a mensagem CPL_GETCOUNT. A função deve então retornar o número de itens do Painel de Controle suportados pelo arquivo .dll.
A funçãoCPlAppletrecebe uma mensagem CPL_INQUIRE e uma mensagem CPL_NEWINQUIRE para cada item do Painel de Controlo suportado pelo arquivo .dll. A função preenche uma CPLINFO ou estrutura de NEWCPLINFO com informações sobre seu item, como nome, ícone e uma cadeia de caracteres descritiva. A maioria dos aplicativos deve processar a mensagem CPL_INQUIRE e ignorar a mensagem CPL_NEWINQUIRE. A mensagem CPL_INQUIRE fornece informações em um formato que o Windows pode armazenar em cache, o que resulta em um desempenho muito melhor. A mensagem CPL_NEWINQUIRE é usada somente se você precisar alterar o ícone do item ou exibir cadeias de caracteres com base no estado do computador. Os itens do Painel de Controle que usam CPL_NEWINQUIRE não podem ser encontrados por uma pesquisa no menu Iniciar no Windows Vista porque depende de cache.
Em seguida, a funçãoCPlAppletrecebe uma mensagem CPL_DBLCLK como uma notificação de que o usuário escolheu o ícone que representa o item do Painel de Controle. A função pode receber esta mensagem qualquer número de vezes. A mensagem inclui o identificador do item e o ponteiro lpData retornado na estrutura CPLINFO ou na estrutura NEWCPLINFO na chamada para CPL_INQUIRE ou CPL_NEWINQUIRE. A função deve exibir a caixa de diálogo correspondente e processar a entrada subsequente do usuário.
Além do CPL_DBLCLK, a mensagem CPL_STARTWPARMS pode ser enviada se um item do painel de controlo é invocado com parâmetros de entrada, como a partir de um prompt de comando ou de outro programa. A mensagem inclui o identificador do item juntamente com a cadeia de caracteres de parâmetro adicional.
Antes que o aplicativo de controle seja encerrado, CPlApplet recebe a mensagem CPL_STOP uma vez para cada item do Painel de Controle suportado pelo arquivo .dll. A mensagem inclui o identificador para o item do Painel de Controle e o ponteiro de lpData retornado noCPLINFOou estrutura de NEWCPLINFO na chamada para CPL_INQUIRE ou CPL_NEWINQUIRE. A função deve liberar qualquer memória alocada para a caixa de diálogo especificada.
Após a última mensagem CPL_STOP, CPlApplet recebe uma mensagem CPL_EXIT. A função deve liberar toda a memória alocada restante e cancelar o registro de quaisquer classes de janela privada que possa ter registrado. Imediatamente após a função retornar a partir desta mensagem, o Windows libera o item do Painel de Controle chamando a função FreeLibrary.
Tópicos relacionados
-
Criando links de tarefas pesquisáveis para um item do Painel de Controle
-
Aceder ao Painel de Controlo no Modo de Segurança no Windows Vista